我们开始使用 Chef 来将最新的 war 部署到服务器。 我有点困惑启动和执行部署的最佳方式是什么。 流程应该如下:
- 从亚马逊负载均衡中删除实例
- 将 war 部署到服务器
- 重新启动 Tomcat
- 将实例添加到 Amazon LB
我们还使用 Jenkins 来自动化构建。
chef-client应该如何在服务器上执行?我们应该为此使用 Jenkins 吗?
最佳答案
Chef 用于配置实例。因此,应使用 AWS API(AWS SDK 或 AWS CLI)处理以下两点
- 从亚马逊负载均衡中删除实例
- 将实例添加到 Amazon LB
现在,您可以利用 Chef 执行以下操作:
- 将 war 部署到服务器
- 重新启动 Tomcat
请查看application_java将部署预构建工件的 Recipe 。
我假设您的 Jenkins 正在将工件上传到某个地方。因此,您可以使用 application_java
Cookbook 将这些工件部署到服务器,然后重新启动 tomcat。
要从 ELB 添加/删除实例,我将使用 AWS CLI因为这是最快的方法。
以下是一些可以完成此任务的命令供您引用:单击here和 here .
希望这有帮助。
关于jenkins - 使用 Chef 自动化部署的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20034564/