我是否可以将AWS Codedeploy与Jenkins一起用于此用例?

时间:2016-05-27 12:48:55

标签: amazon-web-services jenkins deployment aws-code-deploy

我正在探索使用Jenkins触发构建过程并将所需的git分支引入Amazon S3存储桶然后触发AWS Codedeploy部署以从那里获取以部署在相关实例上的方法。

架构和用例

  • 我们在负载均衡器后面有多个EC2实例。
  • 有时,某些实例可能需要使用不同的git分支进行部署(在部署所有实例之前测试某些功能,这可能需要在后续部署期间保留)。
  • 虽然在多个实例集中部署了多个git分支,但我们可能需要在它们上部署一些其他分支,具体取决于它们当前的分支。

支持的功能

  • 在部署期间,配置对部署组的每个单独实例执行一些检查,并显示相同失败的实例,然后请求手动确认并相应地继续。我假设有一个或多个实例可能有不同之处,并且其中一个脚本进行的某些检查失败(参考appspec文件中提供的选项)。我不希望它导致构建失败,但是希望在AWS部署仪表板中看到这样的报告,它应该等待人工干预以决定是否继续。

  • 规定在单个部署组中的批量实例之间进行部署,并要求手动确认继续。我已经知道这个功能“部署配置”,它可以指定一次部署的实例数量 - 例如halfatatime。但是,我们有一个等待几分钟的过程,在一批,比如10个盒子上部署,然后手动监控负载并继续,如果一切都很好。这是手动完成的。

1 个答案:

答案 0 :(得分:1)

抱歉这么晚才回来。 所需的部分功能无法直接通过ATM。然而,有间接的方式绕过它们。

  1. "有时,某些实例可能需要使用不同的git分支进行部署(在部署所有实例之前测试某些功能,这可能需要在后续部署期间保留)。 " 您可以在测试和生产实例的同一应用程序下拥有不同的部署组

  2. 无法在步骤之间暂停部署以请求手动确认。但是,如果您希望检查无法停止部署,则可以设置安全最低健康主机条件,并将所有实例中的日志发送到云监视,以查看每个实例的详细结果。

  3. 批处理完成后无法暂停部署。但是,您可以手动引入烘焙期作为部署的一部分,并在必要时中止部署。

  4. 对不起,我对你的用例无能为力。但是我希望这会有所帮助。

    由于