@@ -136,21 +136,33 @@ jobs:
136136 id : meta
137137 run : |
138138 echo "short_sha=${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT"
139- echo "date=$(date +'%Y%m%d')" >> "$GITHUB_OUTPUT"
140139
141140 - name : Build Docker image
142141 id : build-image
143142 env :
144143 ECR_REGISTRY : ${{ steps.login-ecr.outputs.registry }}
145144 run : |
146- IMAGE_TAG=${{ steps.meta.outputs.short_sha }}
147- ECR_IMAGE=$ECR_REGISTRY/${{ secrets.ECR_REPOSITORY_NAME }}:$IMAGE_TAG
148- docker build -t $ECR_IMAGE .
149- echo "ECR_IMAGE=$ECR_IMAGE" >> $GITHUB_ENV
145+ # Create multiple tags following best practices
146+ IMAGE_TAG_SHA=${{ steps.meta.outputs.short_sha }}
147+
148+ ECR_IMAGE_SHA=$ECR_REGISTRY/${{ secrets.ECR_REPOSITORY_NAME }}:$IMAGE_TAG_SHA
149+ ECR_IMAGE_LATEST=$ECR_REGISTRY/${{ secrets.ECR_REPOSITORY_NAME }}:latest
150+
151+ # Build with multiple tags
152+ docker build \
153+ -t $ECR_IMAGE_SHA \
154+ -t $ECR_IMAGE_LATEST .
155+
156+ # Export for use in deployment (use SHA for precise tracking)
157+ echo "ECR_IMAGE=$ECR_IMAGE_SHA" >> $GITHUB_ENV
150158
151159 - name : Push image to ECR
152160 run : |
153- docker push $ECR_IMAGE
161+ # Push all tags to ECR
162+ docker push $ECR_IMAGE_SHA
163+ docker push $ECR_IMAGE_LATEST
164+
165+ echo "✅ Pushed image with tags: $ECR_IMAGE_SHA and $ECR_IMAGE_LATEST to ECR"
154166
155167 - name : Deploy to Amazon ECS
156168 run : |
@@ -159,3 +171,5 @@ jobs:
159171 --service "${{ secrets.ECS_SERVICE_NAME }}" \
160172 --force-new-deployment \
161173 --region ${{ secrets.AWS_REGION }}
174+
175+ echo "✅ Deployed service ${{ secrets.ECS_SERVICE_NAME }} to ECS cluster ${{ secrets.ECS_CLUSTER_NAME }}"
0 commit comments