Bamboo: настройка Elastic Bamboo и агента на AWS EC2 – Windows

By | 06/26/2015
 

logo_bamboo_blueУ Bamboo оказалась замечательная реализация “прямой” работы с агентами в облаке от Amazon.

Bamboo может сам создавать, останавливать и удалять агенты, которые базируются на AMI-образе в вашем аккаунте на Amazon.

Amazon – создание сервера и образа

Для начала – создадим новый EC2-инстанс.

Наше приложение собирается с помощью MSBuild и Unity, поэтому – агенты будут работать на Windows:

bamboo_ec2_1

Пока хватит t2.medium:

bamboo_ec2_2

Настраиваем сеть:

bamboo_ec2_3

Добавляем диск:

bamboo_ec2_4

Добавляем правила доступа:

bamboo_ec2_5

Запускаем:

bamboo_ec2_6

Выбираем ключ:

bamboo_ec2_7

 

bamboo_ec2_8

Настройка Bamboo агента

Переходим к настройке агента.

В консоли AWS правой кнопкой кликаем на машине, и выбираем “Get Windows password“:

bamboo_ec2_9

Выбираем ключ:

bamboo_ec2_10

И жмём Decrypt password:

bamboo_ec2_11

После чего – подключаемся обычным клиентом RDP:

bamboo_ec2_12

Далее – выполняем установку и настройку Bamboo агента на Windows.

Так как процесс достаточно сложный и не быстрый – я выделил описание в отдельный пост: Bamboo: установка удалённого агента на Windows

После того, как всё установлено и настроено – выключаем машину:

bamboo_ec2_13

И создаём образ:

bamboo_ec2_14

bamboo_ec2_15

Создание образа может занять 5-20 минут, пьём чай.

Образ готов:

bamboo_ec2_16

Настройка сервера Bamboo

Мы пользуемся Cloud-based версией Bamboo, поэтому – некоторые детали интерфейса могут отличаться от self-hosted версии. Тем не менее – в основном всё должно быть похоже.

Переходим в Bamboo administration > Elastic Bamboo и жмём Configure EC2:

bamboo_ec2_17

Тут ничего необычного – Access key, Secret key и загрузить ключ сервера:

bamboo_ec2_18

Где получить Access и Secret ключи – можно почитать в посте Amazon web service: установка EC2 CLI tools.

Готово:

bamboo_ec2_19

После этой настройки – Bamboo сам выберет первый попавшийся образ из списка образов в Image configurations и запустит инстанс с агентом, которые можно посмотреть в разделе Instances:

bamboo_ec2_20

Теперь – нам необходимо подключить собственный образ, на котором уже всё установлено и настроено.

Переходим в Image configurations и в Create elastic image configuration добавляем информацию о нашем образе:

bamboo_ec2_21

Образ добавлен, можно все остальные образы отключить (Disable):

bamboo_ec2_22

Возвращаемся к списку машин – и останавливаем запущенный агент:

bamboo_ec2_23

В консоли Amazon видно, что машина ушла в shutdown:

bamboo_ec2_24

Справа вверху жмём Start new elastic instance:

bamboo_ec2_25

И запускаем новый:

bamboo_ec2_26

В случае ошибки запуска вида:

com.amazonaws.AmazonServiceException: The specified instance type can only be used in a VPC.

Возвращаемся к образу и жмём Edit:

bamboo_ec2_27

Под Instance Type ставим галочку “Use Virtual Private Cloud” и выбираем сеть:

bamboo_ec2_29

Жмём Save, возвращаемся в Instances и запускаем ещё раз Start new elastic instance:

bamboo_ec2_30

Агент почти готов. Для дальнеёшего использования – необходимо настроить его возможности.

Переходим в Image configurations и справа от образа – жмём Capabilities:

bamboo_ec2_31

Убираем ненужное, редактируем нужное, добавлям необходимое:

bamboo_ec2_42

 

Перезапускаем инстанс, ждём 10-15 минут, пока он поднимется, запустится и обновит данные агент – готово:

bamboo_ec2_41

Результат билда:

bamboo_ec2_44