我为单个ecs服务运行了管道,现在我必须部署到4个ecs服务中。我能够成功创建映像并将其推送到存储库中,但是问题出在部署中。
我已将任务定义重命名为与imagedefinition.json
文件相同。
但是,仍然出现错误:
无效的操作配置AWS ECS容器*****不存在
是否可以一次部署4个容器?</ p>
phases:
install:
commands:
- echo "Install Scala ***********"
pre_build:
commands:
- echo "Region(${AWS_REGION}) - ENV(${ENV}) - REPO(${REPO})"
- VERSION=`date +%Y.%m.%d`-`echo ${CODEBUILD_RESOLVED_SOURCE_VERSION} | cut -c1-10`
- echo "Build Version ${VERSION}"
- echo "Logging in to Amazon ECR (${AWS_REGION})"
- eval $(aws ecr get-login --no-include-email --region ${AWS_REGION})
build:
commands:
- echo "Building"
- sbt -no-colors docker:publishLocal
post_build:
commands:
- echo
- docker tag
- docker push repo 1
- echo
- docker tag
- docker push repo 2
- echo
- docker tag
- docker push repo 3
- echo
- docker tag
- docker push repo 4
- printf '[
{"name":"%s","imageUri":"%s"},{"name":"%s","imageUri":"%s"},{"name":"%s","imageUri":"%s"},
{"name":"%s","imageUri":"%s"},{"name":"%s","imageUri":"%s"},{"name":"%s","imageUri":"%s"}
]'
repo 1,
repo 2,
repo 3,
repo 4,
> imagedefinitions.json
artifacts:
files: imagedefinitions.json
出于安全原因必须删除代码
答案 0 :(得分:0)
问题是当我部署到ecs中时,它会查找ecs服务中图像definition.json文件中的所有容器名称,每个服务仅运行一个容器,我们不能使用相同的imagedefinition.json文件所有存储库,我们都将其分离并压缩,然后使用lambda函数调用它