You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
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
@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:
, then define $IMAGE_TAG environment variable and use envsubst tool with your task-definition.json , then pass obtained file to the pipe.
https://linux.die.net/man/1/envsubst - envsubst
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.