У 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 минут, пока он поднимется, запустится и обновит данные агент — готово:
Результат билда: