如何处理CodePipeline中的ECS部署以更改任务定义

过山车

我正在部署具有两个容器的ECS Fargate任务:1个反向代理nginx和1个python服务器。对于每一个我都有一个ECR存储库,并且我有一个CI / CD CodePipeline用

CodeCommit -> CodeBuild -> CodeDeploy

此流程适用于简单的代码更改。但是,如果我想添加另一个容器怎么办?我当然可以进行更新buildspec.yml以添加容器的构建,但是我还需要1)更新我的任务定义,以及2)将此任务定义分配给我的服务。

问题:

1)如果在CodeBuild阶段使用CLI创建新的任务定义并将其与我的服务相关联,这不会触发部署吗?然后我的CodeDeploy将尝试再次进行部署,因此我最终将部署两次?

2)这种方法最终会创建一个新的任务定义,并在每次部署时更新服务。这不好吗?我应该有一些逻辑来取消最新的任务修订,并从CodeCommit版本中区分JSON并仅在有区别时才进行更新吗?

谢谢!

伊斯兰教徒

CodePipeline的ECS作业工作者复制任务定义并更新“ imagedefinitions.json”文件中指定的容器的Image和ImageTag,然后使用此新TaskDef更新ECS服务。作业工作者无法在任务定义中添加新容器。

如果在CodeBuild阶段使用CLI创建新的任务定义并将其与我的服务相关联,这不会触发部署吗?然后我的CodeDeploy将尝试再次进行部署,因此我最终将部署两次?

我不这么认为。是否有CloudWatch事件规则以这种方式触发CodeDeploy?

这种方法最终会创建一个新的任务定义,并在每次部署时都更新服务。这不好吗?我应该有一些逻辑来取消最新的任务修订,并从CodeCommit版本中区分JSON并仅在有区别时才进行更新吗?

每次部署时,ECS Deploy Job工作者都会创建一个新的任务定义修订,因此,如果这是正式行为,那么我也不会认为这很糟糕。

我会问为什么在部署期间需要在运行时向任务定义中添加新容器。通常,您的任务定义应减少修改的频率,并且仅应定期修改其中的image:tag - ECS Deploy操作可帮助您实现。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AWS CodePipeline:如何找出部署阶段的ECS Fargate任务是否已完成在容器中执行过程?

来自分类Dev

创建CodePipeline之前如何在CloudFormation中创建ECS任务

来自分类Dev

当ECS任务定义中已有CodePipeline时,为什么它需要`imagedefinitions.json`?

来自分类Dev

如何在KDE Plasma 5中更改任务栏上窗口的突出显示颜色?

来自分类Dev

更新 ECS 中的任务定义

来自分类Dev

您如何处理WWF,Windows Workflow 4.0中的工作流程定义更改

来自分类Dev

Celery如何处理链中的任务失败?

来自分类Dev

如何处理任务并行库中的目录文件?

来自分类Dev

如何处理任务并行库中的目录文件?

来自分类Dev

ECS模式下如何处理冲突?

来自分类Dev

如何处理GitFlow和子任务

来自分类Dev

如何处理ExecutorService任务引发的异常?

来自分类Dev

如何处理GitFlow和子任务

来自分类Dev

如何处理并发风险任务?

来自分类Dev

如何处理弹性beantalk部署,使其仅上载更改的文件

来自分类Dev

如何删除AWS ECS任务定义?

来自分类Dev

如何处理PUT请求中的“更改原因”?

来自分类Dev

如何处理Flux / React中的数据更改?

来自分类Dev

在Java递归过程中如何处理参数更改?

来自分类Dev

如何处理后台代码中的PageModel更改?

来自分类Dev

如何处理Selenum中的动态更改ID

来自分类Dev

如何处理Angular中的对象属性更改?

来自分类Dev

PartialFunction如何处理Scala中的未定义值?

来自分类Dev

如何处理Mongodb中的“未定义”字段?

来自分类Dev

如何处理自定义AsyncTaskLoader中的错误?

来自分类Dev

如何处理动态脚本中定义的多个请求

来自分类Dev

如何处理自定义AsyncTaskLoader中的错误?

来自分类Dev

如何处理Mongodb中的“未定义”字段?

来自分类Dev

如何处理“活动”中的自定义视图类?

Related 相关文章

  1. 1

    AWS CodePipeline:如何找出部署阶段的ECS Fargate任务是否已完成在容器中执行过程?

  2. 2

    创建CodePipeline之前如何在CloudFormation中创建ECS任务

  3. 3

    当ECS任务定义中已有CodePipeline时,为什么它需要`imagedefinitions.json`?

  4. 4

    如何在KDE Plasma 5中更改任务栏上窗口的突出显示颜色?

  5. 5

    更新 ECS 中的任务定义

  6. 6

    您如何处理WWF,Windows Workflow 4.0中的工作流程定义更改

  7. 7

    Celery如何处理链中的任务失败?

  8. 8

    如何处理任务并行库中的目录文件?

  9. 9

    如何处理任务并行库中的目录文件?

  10. 10

    ECS模式下如何处理冲突?

  11. 11

    如何处理GitFlow和子任务

  12. 12

    如何处理ExecutorService任务引发的异常?

  13. 13

    如何处理GitFlow和子任务

  14. 14

    如何处理并发风险任务?

  15. 15

    如何处理弹性beantalk部署,使其仅上载更改的文件

  16. 16

    如何删除AWS ECS任务定义?

  17. 17

    如何处理PUT请求中的“更改原因”?

  18. 18

    如何处理Flux / React中的数据更改?

  19. 19

    在Java递归过程中如何处理参数更改?

  20. 20

    如何处理后台代码中的PageModel更改?

  21. 21

    如何处理Selenum中的动态更改ID

  22. 22

    如何处理Angular中的对象属性更改?

  23. 23

    PartialFunction如何处理Scala中的未定义值?

  24. 24

    如何处理Mongodb中的“未定义”字段?

  25. 25

    如何处理自定义AsyncTaskLoader中的错误?

  26. 26

    如何处理动态脚本中定义的多个请求

  27. 27

    如何处理自定义AsyncTaskLoader中的错误?

  28. 28

    如何处理Mongodb中的“未定义”字段?

  29. 29

    如何处理“活动”中的自定义视图类?

热门标签

归档