我一直在寻找一种运行打包程序构建后在Jenkins EC2插件配置中更新AMI id的方法。经过一番挖掘之后,如果打包机运行是由Jenkins自己通过postbuild groovy插件完成的,我发现了一种有前途的方法(请注意,这还有待测试,但是看起来不错)

但是我是否希望能够在任何地方运行打包程序构建,并可能通过经过身份验证的REST在Jenkins远程更新生成的AMI ID?那可能吗?我应该从哪里开始寻找?

评论

不使用它,但是我通过定期工作来解决这个问题,Jenkins本身从AWS ec2 describe-images获取ami id

#1 楼

您要链接的PR包含一个指向python脚本的链接,正是此链接可以做到这一点,因为您可以在可以访问Jenkins服务器的任何位置运行该脚本。

#2 楼

从上面的PR更新了python脚本,其中包括:


CSRF支持与Jenkins 2.x更好地配合使用
对私有Jenkins作业的完全支持

我也写了一些用法说明。

#3 楼

对我来说,最好的起点是在packer.json的末尾调用清单后处理器。

其中将包含您在其中创建的AMI的全部详细信息。 JSON格式。

,例如“ artifact_id”:“ us-west-1:ami-XXXXXXXX”,

然后您可以选择任何工具来读取和执行此操作。

来源:https://www.packer.io/docs/post-processors/manifest.html