在ECR中删除最新标签时使用什么图像

时间:2019-04-05 07:31:14

标签: amazon-web-services docker amazon-ecs bitbucket-pipelines

我正在使用Bitbucket管道部署以前使用以下方式上传到ECR的Docker映像:

docker tag 
docker push

我为新上传的图片提供了两个标签,分别是${BITBUCKET_BUILD_NUMBER}latest

在我管道的最后一步中,使用

aws ecs update-service --cluster clusterName --service $BITBUCKET_REPO_SLUG --force-new-deployment

ECS服务的任务定义设置为使用:latest

我想实现的是正确处理部署,当映像已经部署到ECR时,在初始测试和分析步骤之后失败。我想防止部署“故障”映像,这就是为什么我使用bitbucket-pipelines after-script来取消标记并因此在步骤失败时也删除该映像的原因:

if [ $BITBUCKET_EXIT_CODE == 1 ]; then aws ecr batch-delete-image --repository-name repo/$BITBUCKET_REPO_SLUG --image-ids imageTag=latest; fi
if [ $BITBUCKET_EXIT_CODE == 1 ]; then aws ecr batch-delete-image --repository-name repo/$BITBUCKET_REPO_SLUG --image-ids imageTag=${BITBUCKET_BUILD_NUMBER}; fi

任务仍然可以成功重新启动,并且当我在试运行期间设置$BITBUCKET_EXIT_CODE == 0时,管道可以部署“某物”。我的问题是:当ECR上没有带有latest标签的图像时,使用什么图像?有什么办法可以让我轻松找到吗?

0 个答案:

没有答案