Good day,
Hi guys, please help me, Ive been trying to get pipeline work with ECS by using tutorial from atlassian link here, and manage to be able to get the docker image through to ECR.
But it just keep failing when executes export TASK_VERSION command, below is the error message, I have tried to find this missing `"' but I havent found it yet. I also include my bitbucket-pipeline.yml & Dockerfile. Thanks in advance.
Error message :
+ export TASK_VERSION=$(aws ecs register-task-definition --family test_ecs_dev --container-definitions "[{\"name\":\"test_ecs_container\",\"image\":\"$IMAGE_NAME",\"cpu\":10,\"command\":[\"echo\",\"hello\"],\"memory\":10,\"essential\":true}]") bash: /opt/atlassian/pipelines/agent/tmp/bashScript2767235545855639452.sh: line 81: unexpected EOF while looking for matching `"'
Build log screenshot :
bitbucket-pipeline.yml & Dockerfile :
# This is a sample build configuration for Go. # Check our guides at https://confluence.atlassian.com/x/5Q4SMw for more examples. # Only use spaces to indent your .yml configuration. # ----- # You can specify a custom docker image from Docker Hub as your build environment. image: golang:1.8 pipelines: default: - step: script: # Modify the commands below to build your repository. - PACKAGE_PATH="${GOPATH}/src/bitbucket.org/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}" - mkdir -pv "${PACKAGE_PATH}" - tar -cO --exclude-vcs --exclude=bitbucket-pipelines.yml . | tar -xv -C "${PACKAGE_PATH}" - cd "${PACKAGE_PATH}" - go get -v - go build -v - go test -v - export IMAGE_NAME=irahardianto/test_ecs:$BITBUCKET_COMMIT # build the Docker image (this will use the Dockerfile in the root of the repo) - docker build -t $IMAGE_NAME . # authenticate with the Docker Hub registry - docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD # push the new Docker image to the Docker registry - docker push $IMAGE_NAME - curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" - apt-get update -y - apt-get upgrade -y - apt-get install -y jq zip unzip - unzip awscli-bundle.zip - ./awscli-bundle/install -b ~/bin/aws - export PATH=~/bin:$PATH - $(aws ecr get-login --no-include-email --region ap-southeast-1) - docker tag $IMAGE_NAME 047415648520.dkr.ecr.ap-southeast-1.amazonaws.com/test_ecs:latest - docker push 047415648520.dkr.ecr.ap-southeast-1.amazonaws.com/test_ecs:latest # register the ECS task definition and capture the version - export TASK_VERSION=$(aws ecs register-task-definition --family test_ecs_dev --container-definitions "[{\"name\":\"test_ecs_container\",\"image\":\"$IMAGE_NAME",\"cpu\":10,\"command\":[\"echo\",\"hello\"],\"memory\":10,\"essential\":true}]" | jq --raw-output '.taskDefinition.revision') - echo "Registered ECS Task Definition:" $TASK_VERSION # Update the ECS service to use the updated Task version - aws ecs update-service --cluster test-ecs-cluster --service test_ecs_service --task-definition test_ecs_dev:$TASK_VERSION options: docker: true
FROM golang:wheezy # Create app directory RUN mkdir -p /go/src/app WORKDIR /go/src/app COPY . /go/src/app/ EXPOSE 8000 WORKDIR /go/src/app CMD ["go run", "hello.go"]
Hey @Ichsan, funnily enough I'm working on an update for this tutorial at the moment.
There's a missing \
------------------------------------------------here-----|
V
"[{\"name\":\"test_ecs_container\",\"image\":\"$IMAGE_NAME",\"cpu\":10,\"command\":[\"echo\",\"hello\"],\"memory\":10,\"essential\":true}]"
you can copy the task from here:
- export TASK_VERSION=$(aws ecs register-task-definition
--family test_ecs_dev
--container-definitions
"[{\"name\":\"test_ecs_container\",\"image\":\"$IMAGE_NAME\",\"cpu\":10,\"command\":[\"echo\",\"hello\"],\"memory\":10,\"essential\":true}]"
| jq --raw-output '.taskDefinition.revision')
or for my preference of formatting
- export TASK_VERSION=$(aws ecs register-task-definition
--family test_ecs_dev
--container-definitions
'[{"name":"test_ecs_container","image":"'"$IMAGE_NAME"'","cpu":10,"command":["echo","hello"],"memory":10,"essential":true}]'
| jq --raw-output '.taskDefinition.revision')
I'll update the documentation to fix it - thanks for raising the question :)
Seb
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.