首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CodePipeline : taskdef.json和appsec.yaml的目的是什么?

CodePipeline : taskdef.json和appsec.yaml的目的是什么?
EN

Stack Overflow用户
提问于 2021-02-26 09:56:26
回答 2查看 1.3K关注 0票数 3

我使用CodePipeline的全部目的是使用CodeDeploy自动部署ECS服务(蓝色/绿色部署)。

CodePipeline有以下几个阶段:

  • “来源”包含Bitbucket网络钩子。
  • 包含CodeBuild步骤的“构建”(在ECR上构建和推送一个对接者映像)。
  • 包含使用CodeDeploy部署设计服务的ECS (Blue / Green)的" deploy“。

我不明白的是,在我的例子中,taskdef.json和appsec.yaml的目的。

我只做手动的(所以目前没有CodePipeline )是用相同的任务定义重新部署ECS服务。我不需要每次更新我的任务定义,因为我所推动的对接者映像总是有相同的标记(暂存或生产),所有其他的标记都是无标记的,所以只有一个可用。

那么,为什么必须输入这些文件,即使当我手动完成时,我不会更改任何东西,只需连续单击Next?

此外,我如何从CodeBuild步骤中包含它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-15 09:18:21

我终于找到了怎么做。我首先做的是在我的Git项目中包含一个taskdef.json和appspec.yaml文件。由于我不需要这些文件被“自动更新”或“生成”,所以我只使用JSON中的最后一个任务定义,并将其放在taskdef.json中。

对于appspec.yaml,在对ECS服务进行手动部署时,您可以获得JSON格式的JSON格式,在最后一页中总结所有内容。

然后,您需要更新CodeBuild项目,以便将这两个工件上传到S3上--例如,在管道中,部署任务可以使用这些工件。

这个站点帮我把一切都做好了。

票数 0
EN

Stack Overflow用户

发布于 2021-11-13 22:07:54

在您的管道上,您可以输入taskdef.json文件和appspec.yml,以及usin。在每次部署时,CodePipeline都将获取可用的最新输入。

例如,您已经更改了一个环境变量值。这适用于taskdef.json文件。您需要做的是使用新版本的taskdef.json推动提交。这将触发使用新taskdef.json的新部署,并使用您在CodePipilie/CodeDeploy上指定的标记使用最新的ECR映像。

本教程解释了如何将所有内容整合在一起:https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-ecs-ecr-codedeploy.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66383606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档