我知道AWS CodePipeline支持更新ECS服务。
如果我想更新不包含服务定义的ECS计划任务怎么办?
答案 0 :(得分:1)
由于您的 ECS 计划任务始终使用最新的映像,因此您只需在 CodePipeline 中包含 CodeCommit 和 CodeBuild,然后跳过 CodeDeploy。 您的 CodeBuild 应包含构建最新映像的 buildspec.yml 文件。 CodeBuild 将最新的映像推送到您的 ECR。 因此,当您将提交提交到存储库时,管道会触发构建新映像的 CodeBuild,因此下次您的 ECS 计划任务运行时,它会使用来自 ECR 的新映像。
答案 1 :(得分:0)
事实证明,CodePipeline不支持部署到计划的任务。相反,您必须在ECS计划任务的任务定义中指定静态标签(例如latest
),然后通过相应地设置映像拉策略来确保它始终提取最新映像。 (默认策略应该起作用,但不能保证在拉取失败时将不运行缓存的图像。)