在GitLab中触发CodeDeploy?

在GitLab中触发CodeDeploy?,gitlab,gitlab-ci,aws-code-deploy,blue-green-deployment,Gitlab,Gitlab Ci,Aws Code Deploy,Blue Green Deployment,我正在AWS上开发CI/CD管道。对于给定的信息,我必须使用GitLab作为存储库,并使用Blue/Green部署作为ECS Fargate的部署方法。我想使用CodeDeploy(Cloudformation模板中的预设)并在每次提交到GitLab时触发它。我无法在我所在的地区使用CodePipeline,因此使用CodePipeline对我不适用 我已经阅读了很多关于ECS fargate和B/G部署的文档和网页。但似乎没有太多信息可以帮助我们。有没有人有相关的经验?如果你的目标是零停机时间

我正在AWS上开发CI/CD管道。对于给定的信息,我必须使用GitLab作为存储库,并使用Blue/Green部署作为ECS Fargate的部署方法。我想使用CodeDeploy(Cloudformation模板中的预设)并在每次提交到GitLab时触发它。我无法在我所在的地区使用CodePipeline,因此使用CodePipeline对我不适用


我已经阅读了很多关于ECS fargate和B/G部署的文档和网页。但似乎没有太多信息可以帮助我们。有没有人有相关的经验?

如果你的目标是零停机时间,ECS在默认情况下已经打包好了,但不是我所说的蓝/绿部署,而是滚动升级。您将能够控制正常实例的百分比,确保无停机,ECS将从旧任务中删除连接,并使用新版本配置新任务

您的应用程序必须能够处理版本中的这种“二元性”,例如在数据层、用户体验等方面

如果蓝色/绿色是基本要求,那么您必须利用ECS的CodeDeploy和ALB。在不讨论实施细节的情况下,这里是它的亮点:

  • 您有两组:
    任务定义
    目标组
    (绑定到一个ALB)
  • code Deploy
    部署新的任务定义,该定义是绑定的 绿色目标群体。让蓝色保持原样
  • 通过将测试侦听器配置到新的目标组来测试您的绿色部署
  • 测试完成后,将所有/增量流量从蓝色切换到绿色()
  • 在下一次更新时重复相同的过程,除非您将从绿色变为红色

我描述的部分内容由CodeDeploy处理,但希望这能让您了解解决方案体系结构,从而了解如何实现自动化

您的问题有点开放,不确定您是否需要帮助设置GitLab以触发对CloudFormation堆栈的更新,或者设置您的自动化以使用ECS Fargate进行B/G部署。实际上,我计划有两条管道,一条是包括创建/更新CloudFormation堆栈,一个是使用ECS Fargate进行B/G部署的自动化。也许我可以专注于ECS Fargate的B/G部署。你会更清楚吗?