Я нахожусь в процессе написания задания Jenkins Pipeline, которое создаст резервную копию Jenkins в AWS AMI, а затем обновит плагины. Я могу создать AMI без проблем, но в идеале я хотел бы хранить их ограниченное количество, удаляя самые старые, чтобы сохранить, скажем, три одновременно.
Это двусторонний вопрос;
Есть ли способ захвата и сортировки AMI с помощью Groovy? (или сценарий оболочки, который затем можно интегрировать в Groovy.) У нас хранятся десятки 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"