Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

AWS ECS deploy task defintion with specific image tag

ahmed_derbel August 20, 2021

Hello, i have a pipeline to deploy to my ECS Cluster with 2 steps , the first one is building new docker image with a new tag for example myimage:3 and in my task-definition.json the image is myimage:2

Is there any methode to update the task-definition.json dynamically with the new generated tag from the pipe? I mean that the new deployed task-definition.json takes myimage:3 and not the tag :2 , currently i change the image tag to 3 in task-definition.json before pushing the new commit

Many thanks

1 answer

0 votes
Halyna Berezovska
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 29, 2021

@ahmed_derbel update task definition is the method from one component, but updating the image is from another - from ECR. So anyway you will have to update the image in your task definition, unless you use latest tag.

You can commit and get it from commit, or , what is more often - to get previous task definition from AWS, update that json file with jq tool to what you need (and perhaps removing some extra fields that are not going to be passed in update_task_definition method like updated_at, created_at), and pass the task definition to our pipe.

Or I suppose if you have to commit task definition, then you have this file in the repository , that means you can reach it from pipeline in $BITBUCKET_CLONE_DIR. 

So another way to go is to have definition sth like this:

...
image: my-ecr-image:${IMAGE_TAG}

, then define $IMAGE_TAG environment variable and use envsubst tool with your task-definition.json , then pass obtained file to the pipe.

Check out:

https://stedolan.github.io/jq/manual/ or https://linuxcommandlibrary.com/man/jq - jq

https://linux.die.net/man/1/envsubst - envsubst

 

Regards, Galyna

Halyna Berezovska
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 30, 2021

To work with AWS simpler, you can use our https://bitbucket.org/atlassian/aws-ecr-push-image/src/master/ aws-ecr-push-image and https://bitbucket.org/atlassian/aws-ecs-deploy/src/master/ aws-ecs-deploy pipes.

ahmed_derbel August 30, 2021

Thank you so much

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events