【发布时间】:2018-03-04 18:08:57
【问题描述】:
我想使用Amazon EC2 plugin 来设置自动缩放的从站。
我们的目标是使用 Chef 编写所有内容的脚本,到目前为止,我还没有为这个 Jenkins 插件找到任何东西。我想写一本自己的食谱,但想知道最好的方法是什么?
【问题讨论】:
标签: jenkins amazon-ec2 chef-infra jenkins-plugins
我想使用Amazon EC2 plugin 来设置自动缩放的从站。
我们的目标是使用 Chef 编写所有内容的脚本,到目前为止,我还没有为这个 Jenkins 插件找到任何东西。我想写一本自己的食谱,但想知道最好的方法是什么?
【问题讨论】:
标签: jenkins amazon-ec2 chef-infra jenkins-plugins
一般来说,构建机器的管理将通过 EC2 插件本身完成,它已经为您安装了 Jenkins 远程 jar,因此您需要做的就是确保安装了 Java。
【讨论】:
有两种方法可以同时使用 Amazon EC2 插件和 Chef:
运行 Chef 以在每个从属启动或构建开始时进行配置
使用 Chef 和 Packer 之类的东西构建预烘焙的从属映像,并将它们提供给 Jenkins Amazon EC2 插件
第一种方法的缺点:
可能需要很长时间,具体取决于您使用 Chef 安装的软件。因此,它会给构建开始带来延迟,并为机器时间带来额外费用。
您无法始终获得与上次相同的构建环境。可能会导致 heisenbugs 和困难的故障排除。
第二种方法称为Immutable Server。它也有它的缺点:
为您提供额外的 AMI 存储费用。
不太灵活 - 您不能只修复某些版本号或为某些新软件添加要求并开始新的 Jenkins 构建。你必须先重建你的从属图像。如果您需要稍微不同的环境,您必须构建并保留几个预烘焙的图像。
我自己现在使用第二种方法。你可以查看源代码here。具体来说,使用 Chef 配置 Amazon EC2 插件已完成here。
【讨论】: