Jenkins: Настройка агента на основе Amazon EC2-инстанса

Ранее рассматривалась настройка Jenkins агентов(slave) на основе отдельного Linux-сервера и Docker контейнера

В данной статье рассмотрим настройку Jenkins-агента(slave) на основе динамического создания(и удаления) Amazon EC2-инстанса

В AWS-консоли

В IAM-вкладке
1.Создать группу jenkins,присодинить к этой группе роль AmazonEC2FullAccess
2.Создать пользователя jenkins(тип c Access/Secret key), включить его в группу Jenkins,сохранить Access/Secret ключи
3.В EC2-вкладке
Создать пару SSH-ключей и сохранить pem-файл. Важно помнить, в каком регионе была создана пара SSH-ключей, этот же регион необходимо выбрать при настройке AWS EC2-плагина в Jenkins(см.пункт 6)(например, us-east-1 – N.Virginia)

В Jenkins

4.В Jenkins установить плагин Amazon EC2

5. В Jenkins добавить новый Credentials с типом AWS Credentials и указать в нем Access и Secret ключи

6.Настройка AWS EC2 Jenkins slave в настройках Jenkins

Проверяем доступ c Jenkins в AWS путем нажатия кнопки Test Connections

Далее добавляем AMI образ,из которого будет запущен EC2-инстанс, нажимая кнопку Добавить
Указываем идентификатор образа, из которого нужно развернуть инстанс.
Такой AMI может быть заранее подготовлен и включать в себя уже все установленное и необходимое для корректного выполнения сборки программное обеспечение, пакеты, утилиты и т.д.
В данном примере используем AMI-образ, имеющийся в AWS стандартной Ubuntu Server 16.04 LTS (HVM), SSD Volume Type

Создадим Pipeline, который будет выполняться на Jenkins Slave, созданным автоматически на AWS EC2-инстансе
В pipeline проверим наличие установленных java и git(как результат корректной работы init script на предыдущем шаге)

Выполним сборку и проверим корректность работы
a)Наличие инамически созданного EC2-инстанса


b)корректную отработку Init script

c)корректную отработку сборки в целом


Источник:
https://www.packtpub.com/networking-and-servers/practical-jenkins-video

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика