jenkins - 使用 Chef 自动化部署的最佳方法是什么

标签 jenkins chef-infra

我们开始使用 Chef 来将最新的 war 部署到服务器。 我有点困惑启动和执行部署的最佳方式是什么。 流程应该如下:

  1. 从亚马逊负载均衡中删除实例
  2. 将 war 部署到服务器
  3. 重新启动 Tomcat
  4. 将实例添加到 Amazon LB

我们还使用 Jenkins 来自动化构建。

chef-client应该如何在服务器上执行?我们应该为此使用 Jenkins 吗?

最佳答案

Chef 用于配置实例。因此,应使用 AWS API(AWS SDK 或 AWS CLI)处理以下两点

  1. 从亚马逊负载均衡中删除实例
  2. 将实例添加到 Amazon LB

现在,您可以利用 Chef 执行以下操作:

  1. 将 war 部署到服务器
  2. 重新启动 Tomcat

请查看application_java将部署预构建工件的 Recipe 。 我假设您的 Jenkins 正在将工件上传到某个地方。因此,您可以使用 application_java Cookbook 将这些工件部署到服务器,然后重新启动 tomcat。

要从 ELB 添加/删除实例,我将使用 AWS CLI因为这是最快的方法。

以下是一些可以完成此任务的命令供您引用:单击herehere .

希望这有帮助。

关于jenkins - 使用 Chef 自动化部署的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20034564/

相关文章:

mysql - 无法在 jenkins 上创建 PoolableConnectionFactory

jenkins - 在 Jenkins 上用 SpotBugs 替换 FindBugs 时应该使用哪个插件?

ios - FaSTLane iOS 测试在本地通过但未通过 Jenkins

java - 如何在 Chef 中运行具有依赖关系的 Recipe ?

deployment - 将 Golang 应用程序部署到 AWS OPSWORKS

shell - 覆盖 openshift maven 脚本(jenkins gear)

jenkins - 如何使用 Jenkins 进行 .NET 构建

chef-infra - 使用 Wrapper Recipe 覆盖属性

chef-infra - 如何从 Chef 数据包中访问当前值?

chef-infra - Chef 和 easy_install_package——如何添加 -U 选项