【问题标题】:Using Jenkins to do CI/CD on EC2 Instance使用 Jenkins 在 EC2 实例上做 CI/CD
【发布时间】:2018-01-19 09:06:45
【问题描述】:

我不了解 Jenkins 和 CI/CD,所以我想在这里获得一些建议。

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

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

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

【问题讨论】:

  • 您可以只使用其中包含 aws cli 命令和 ssh 命令的命令行脚本。 Jenkins 还可以运行任意命令。只需执行 aws s3 cp ..... 然后是 scp,然后是 ssh 服务 X 重启。我认为您可以安全地复制文件然后重新启动服务

标签: docker jenkins amazon-ec2 wildfly continuous-deployment


【解决方案1】:

我在我的环境中也有类似的工作。我假设这是负载平衡架构中的生产环境(有两个节点)。对于优雅的部署,首先在停止应用程序之前,通过删除节点的 LB 运行状况检查将节点从 LB 池中取出。确保 LB 启用了连接耗尽。然后,LB 将确保在将节点设置为 OutofService 之前完成所有飞行中用户对该节点的请求。此时 LB 也会开始向 LB 后面的第二个节点发送后续用户请求,同时您在 node1 上完成部署。

这样用户就不会看到白页或 504 服务器错误

【讨论】:

    猜你喜欢
    • 2018-10-17
    • 1970-01-01
    • 2015-03-23
    • 2018-10-05
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 2019-11-24
    相关资源
    最近更新 更多