使用Jenkins在EC2实例上执行CI/CD

问题描述:

我不知道Jenkins和CI/CD,所以我想在这里得到一些建议。使用Jenkins在EC2实例上执行CI/CD

我有一个EC2实例,在那个实例中,它将有WildFly + Appeon,我将在WildFly上部署一个War文件。

这个War文件将被存储在S3存储桶中。 Jenkins作业将从S3中选取战争文件,然后转到该EC2实例,停止WildFly服务器和Appeon,替换EC2实例上的WAR文件,然后重新启动Wildfly和Appeon。

我应该知道什么才能完成这项工作?有什么建议?

+0

你可以只使用有它内部的AWS CLI命令和SSH命令一个命令行脚本。詹金斯也可以运行任意命令。只需做一个aws s3 cp .....其次是scp,然后是ssh service X restart。我认为你是安全的复制文件,然后重新启动服务 –

我在我的环境中也有类似的工作。我假设这是一个负载均衡体系结构中的生产环境(具有两个节点)。要进行平稳部署,首先在停止应用程序之前,通过将LB健康检查删除到节点,将节点从LB池中取出。确保LB已启用连接耗尽。然后,LB将确保所有机上用户对该节点的请求都已完成,然后再将该节点设置为OutofService。当您完成node1上的部署时,此时的LB也将开始向LB后面的第二个节点发送后续用户请求。

这样,用户将不会看到一个白色的页面或504服务器错误