Jos*_*osh 5 cloud deployment amazon-web-services travis-ci aws-code-deploy
使用AWS时,将应用程序部署到新创建的实例的一种好方法似乎是通过AWS CodeDeploy。其工作原理如下:
现在,当将应用程序捆绑包(例如jar或debian软件包)部署到部署组时,它将自动部署到在自动扩展组中启动的新实例。
我的问题是:这种部署策略如何适合Travis CI等CI工具?
特别:
TL;博士版本:
好的,这是长版本:
我建议您尝试部署演练或查看文档中的概念。它应该可以帮助您更快地熟悉 CodeDeploy。
如果您不愿意,则不必将 AutoScaling 组与 CodeDeploy 结合使用。与 AutoScaling 集成的 CodeDeploy 允许您独立于部署到它们的代码来管理需要动态更改大小的队列,但这不是使用 CodeDeploy 的要求。您还可以手动启动一些 EC2 实例,安装主机代理,然后将它们标记到部署组中 - 但它们不会像 AutoScaling 实例那样在启动时自动部署。无论哪种情况,您始终可以创建舰队范围的部署。
您必须做一些工作才能将其与 CI 工具集成。CodeDeploy 不直接管理您的构建工件,因此您的构建过程需要这样做。要进行自动部署,您需要:
appspec.yml使用、处理安装/升级所需的任何脚本以及构建工件创建存档包。您可能希望将CodePipeline视为与 CodeDeploy 集成的持续交付系统的示例。
CodeDeploy 使用部署配置来控制其部署到队列中的实例的积极程度。(对于自动部署,此配置将被忽略,因为每个实例都是单独处理的。)如果 CodeDeploy 无法在不违反部署配置中的约束的情况下使另一个实例失败,则它将使您的部署失败并停止部署到新实例。
共有三个内置部署配置,如果需要不同的配置,您可以通过 CLI 或API创建自己的部署配置。要一次仅部署到一个实例,您可以使用CodeDeployDefault.OneAtATime部署配置,该配置在任何给定时间最多允许一台不健康的主机。
| 归档时间: |
|
| 查看次数: |
1268 次 |
| 最近记录: |