使用 Jenkins 部署 EC2 实例

Deploying EC2 Instances with Jenkins

我在当前项目中使用 Jenkins 作为 "glue"。 它被用于通常的持续集成,进行了各种测试 运行 并进行了部署。 我正在使用 AWS 来托管应用程序,最终需要一个 EC2 实例集群。集群实例将处理来自 public 的 HTTP 请求。这些实例将不仅仅用于构建过程。

我希望能够让 Jenkins 处理 EC2 实例的创建(和终止)。不一定自动。我想启动一个创建实例的作业,将实例注册为 Jenkins slave,运行一些作业以在实例上安装一些工具,测试实例,然后最后将其添加到我的集群中以处理流量。

我已经尝试在某些工作中使用标准 shell 命令来设置这一切,但它看起来有点繁琐,让我觉得肯定必须有一个插件。

我已经安装并测试了 Jenkins EC2 插件,我必须说它很棒,但不太符合我的需要。首先,它似乎主要旨在处理 jenkins 构建作业的负载。它也不允许我挂钩到工作中,例如,自动启动我在新实例上的部署和测试工作。

谁能推荐一个好的方法或插件来处理 EC2 实例的创建?

谢谢

您是否尝试过 Jenkins Cloudformation 插件? Cloudformation plugin for Jenkins

有了这个,您将能够 运行 Cloudformation 脚本作为构建步骤。 cloudformation 脚本可以包含许多指令、实例的用户数据,使您能够设置和配置 Jenkins 从站。好的部分是你可以创建一个复杂的堆栈,你可以用参数来概括它。 该插件支持删除一个堆栈,所以它会做一个完整的清理。