Amazon web services 如何通过API调用为Lambda创建的ECS服务构建CI CD管道

Amazon web services 如何通过API调用为Lambda创建的ECS服务构建CI CD管道,amazon-web-services,devops,continuous-deployment,Amazon Web Services,Devops,Continuous Deployment,在我们的平台中,我们维护一个JVM软件,该软件对执行逻辑进行配置。应用程序代码只编写一次,但它根据用户配置工作 用户通过调用我们的内部服务(AWS Lambda)来进行配置。Lambda使用ECS API通过将用户配置作为环境值来创建新的任务和服务 这对灵活性非常有用,但我们无法在更改应用程序代码时了解如何更新这些ECS任务。理想情况下,我们希望为新映像一次更新所有ECS任务 我们希望首先在beta版中更新所有内容,如果所有内容都成功,我们希望对生产进行更改 这里的挑战是,我们已经动态创建了EC

在我们的平台中,我们维护一个JVM软件,该软件对执行逻辑进行配置。应用程序代码只编写一次,但它根据用户配置工作

用户通过调用我们的内部服务(AWS Lambda)来进行配置。Lambda使用ECS API通过将用户配置作为环境值来创建新的任务和服务

这对灵活性非常有用,但我们无法在更改应用程序代码时了解如何更新这些ECS任务。理想情况下,我们希望为新映像一次更新所有ECS任务

我们希望首先在beta版中更新所有内容,如果所有内容都成功,我们希望对生产进行更改


这里的挑战是,我们已经动态创建了ECS服务,因此无法在管道中硬编码部署目标。我们如何创建一个管道,通过完整的CI/CD管道将软件更改部署到所有内容?

这与创建新的代码+配置版本并将其作为ECS上服务的新版本放在ECR repo中有什么不同?如果是这样的话,创建代码管道应该不会太难。配置是通过API调用提交的,我有+1000个配置,它必须结束1000个不同的应用程序。好吧,那么我所想的对你来说不是一个好的解决方案,除非你有办法在运行时选择配置,而不是将其作为构建的一部分。