【发布时间】:2016-12-17 11:10:39
【问题描述】:
我正在编写一个 Jenkins Pipeline 作业,它将 Jenkins 备份到 AWS AMI,然后更新插件。我可以毫无问题地创建 AMI,但理想情况下,我想存储其中的上限数量,删除最旧的以保留,例如,一次保留三个。
这是一个两方面的问题;
有没有办法通过 Groovy 捕获和分类 AMI ? (或者可以集成到 Groovy 中的 shell 脚本。)我们存储了几十个 AMI,所以我需要能够筛选出那些以某种方式命名的 AMI,然后按日期和版本号对它们进行排序。我正在想象一个类似于
yyyymmdd_jenkinsbkup_##的命名系统,其中## 是版本号(01、02 等)-
假设是,我可以在创建下一个 AMI 时删除最旧的版本并迭代到下一个版本号吗?假设我保存了以下三个
20161201_jenkinsbkup_08 20161204_jenkinsbkup_09 20161212_jenkinsbkup_10然后我可以以某种方式删除
20161201_jenkinsbkup_08并创建20161215_jenkinsbkup_11
我是一名 AWS 菜鸟,但在我的脚本中创建了一个图像。请注意,这是在更大的管道脚本中运行的。
sh "aws ec2 create-image --instance-id i-############# --name 'something to create the requested format' --region us-east-1 --no-reboot"
【问题讨论】:
标签: amazon-web-services jenkins groovy amazon-ami