我可以将AWS Codedeploy与Jenkins一起用于此用例吗



我正在探索使用Jenkins来触发构建过程的方法,并将所需的git分支带到Amazon S3存储桶中,然后触发AWS Codedeploy部署,将其部署到相关实例上。

体系结构和用例

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

要支持的功能

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

  • 规定在单个部署组内的多批实例上的部署之间有间隔,并要求手动确认才能继续。我已经知道"部署配置"这一功能,它指定了一次可以配置的部署实例的数量,例如半数据时间。然而,我们的过程是在部署一批(比如10个盒子)后等待几分钟,然后手动监控负载,如果一切正常,则继续进行。这是手动完成的。

很抱歉这么晚才回来。所请求的某些功能不是ATM直接可用的。然而,也有一些间接的方法可以绕过它们。

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

  2. 没有任何设施可以在两个步骤之间暂停部署以请求手动确认。但是,如果您希望检查失败而不停止部署,则可以设置安全的最低健康主机标准,并将所有实例的日志发送到云监视,以查看每个实例的详细结果。

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

很抱歉,我无法为您的用例提供更多帮助。不过我希望这能有所帮助。

感谢

相关内容

  • 没有找到相关文章

最新更新