У Bamboo оказалась замечательная реализация “прямой” работы с агентами в облаке от Amazon.
Bamboo может сам создавать, останавливать и удалять агенты, которые базируются на AMI-образе в вашем аккаунте на Amazon.
Содержание
Amazon – создание сервера и образа
Для начала – создадим новый EC2-инстанс.
Наше приложение собирается с помощью MSBuild и Unity, поэтому – агенты будут работать на Windows:
Пока хватит t2.medium:
Настраиваем сеть:
Добавляем диск:
Добавляем правила доступа:
Запускаем:
Выбираем ключ:
Настройка Bamboo агента
Переходим к настройке агента.
В консоли AWS правой кнопкой кликаем на машине, и выбираем “Get Windows password“:
Выбираем ключ:
И жмём Decrypt password:
После чего – подключаемся обычным клиентом RDP:
Далее – выполняем установку и настройку Bamboo агента на Windows.
Так как процесс достаточно сложный и не быстрый – я выделил описание в отдельный пост: Bamboo: установка удалённого агента на Windows
После того, как всё установлено и настроено – выключаем машину:
И создаём образ:
Создание образа может занять 5-20 минут, пьём чай.
Образ готов:
Настройка сервера Bamboo
Мы пользуемся Cloud-based версией Bamboo, поэтому – некоторые детали интерфейса могут отличаться от self-hosted версии. Тем не менее – в основном всё должно быть похоже.
Переходим в Bamboo administration > Elastic Bamboo и жмём Configure EC2:
Тут ничего необычного – Access key, Secret key и загрузить ключ сервера:
Где получить Access и Secret ключи – можно почитать в посте Amazon web service: установка EC2 CLI tools.
Готово:
После этой настройки – Bamboo сам выберет первый попавшийся образ из списка образов в Image configurations и запустит инстанс с агентом, которые можно посмотреть в разделе Instances:
Теперь – нам необходимо подключить собственный образ, на котором уже всё установлено и настроено.
Переходим в Image configurations и в Create elastic image configuration добавляем информацию о нашем образе:
Образ добавлен, можно все остальные образы отключить (Disable):
Возвращаемся к списку машин – и останавливаем запущенный агент:
В консоли Amazon видно, что машина ушла в shutdown:
Справа вверху жмём Start new elastic instance:
И запускаем новый:
В случае ошибки запуска вида:
com.amazonaws.AmazonServiceException: The specified instance type can only be used in a VPC.
Возвращаемся к образу и жмём Edit:
Под Instance Type ставим галочку “Use Virtual Private Cloud” и выбираем сеть:
Жмём Save, возвращаемся в Instances и запускаем ещё раз Start new elastic instance:
Агент почти готов. Для дальнеёшего использования – необходимо настроить его возможности.
Переходим в Image configurations и справа от образа – жмём Capabilities:
Убираем ненужное, редактируем нужное, добавлям необходимое:
Перезапускаем инстанс, ждём 10-15 минут, пока он поднимется, запустится и обновит данные агент – готово:
Результат билда: