Руководство. Использование Экземпляры контейнеров Azure в качестве агента сборки Jenkins
Внимание
Многие службы Azure используют подключаемые модули Jenkins. Поддержка некоторых таких подключаемых модулей будет прекращена 29 февраля 2024 г. В настоящее время для интеграции Jenkins со службами Azure рекомендуется использовать Azure CLI. Дополнительные сведения см. в статье Подключаемые модули Jenkins для Azure.
Экземпляры контейнеров Azure (ACI) предоставляют доступную по требованию изолированную среду выполнения с накапливаемыми ресурсами для контейнерных рабочих нагрузок. Эти характеристики делают ACI отличной платформой для масштабного выполнения заданий сборки Jenkins. В этой статье показано, как развернуть ACI и добавить эту службу в качестве постоянного агента сборки для контроллера Jenkins.
См. дополнительные сведения о службе "Экземпляры контейнеров Azure".
Необходимые компоненты
- Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись Azure перед началом работы.
- Сервер Jenkins: если у вас нет сервера Jenkins, создайте сервер Jenkins в Azure.
Подготовка сервера Jenkins
Перейдите на портал Jenkins.
В меню выберите пункт Manage Jenkins (Управление Jenkins).
В разделе System Configuration (Конфигурация системы) выберите элемент Configure System (Настройка системы).
Убедитесь, что для параметра Jenkins URL (URL-адрес Jenkins) задан HTTP-адрес установки Jenkins:
http://<your_host>.<your_domain>:8080/
.В меню выберите пункт Manage Jenkins (Управление Jenkins).
В разделе Security (Безопасность) выберите элемент Configure Global Security (Настройка глобальной безопасности).
В разделе Agents (Агенты) в качестве порта укажите значение Fixed (Фиксированный) и введите соответствующий номер порта для своей среды.
Выберите Сохранить.
Создание рабочего агента Jenkins
Перейдите на портал Jenkins.
В меню выберите пункт Manage Jenkins (Управление Jenkins).
В разделе System Configuration (Конфигурация системы) выберите элемент Manage Nodes and Clouds (Управление узлами и облаками).
В меню выберите пункт New Node (Новый узел).
Введите значение в поле Node Name (Имя узла).
Выберите элемент Permanent Agent (Постоянный агент).
Нажмите ОК.
Введите значение в поле Remote root directory (Удаленный корневой каталог). Например:
/home/jenkins/work
Добавление метки (метки используются для группировки нескольких агентов в одну логическую группу. Пример метки —
linux
группировать агенты Linux.) со значениемlinux
.Задайте для параметра Launch method (Метод запуска) значение Launch agent by connecting to the master (Запускать агент, подключившись к главному серверу).
Убедитесь, что все обязательные поля были указаны или введены.
Выберите Сохранить.
На странице состояния агента вы увидите
JENKINS_SECRET
иAGENT_NAME
. На приведенном ниже снимке экрана показано, как определить значения. Оба значения необходимы при создании экземпляра Экземпляров контейнеров Azure.
Создание экземпляра контейнера Azure с помощью CLI
Используйте az group create, чтобы создать группу ресурсов Azure.
az group create --name my-resourcegroup --location westus
Используйте az container create для создания экземпляра контейнера Azure. Замените заполнители значениями, полученными при создании рабочего агента.
az container create \ --name my-dock \ --resource-group my-resourcegroup \ --ip-address Public --image jenkins/inbound-agent:latest \ --os-type linux \ --ports 80 \ --command-line "jenkins-agent -url http://jenkinsserver:port <JENKINS_SECRET> <AGENT_NAME>"
Замените
http://jenkinsserver:port
,<JENKINS_SECRET>
и<AGENT_NAME>
сведениями о вашем контроллере и агенте Jenkins. После запуска контейнер автоматически подключится к серверу контроллера Jenkins.Вернитесь на панель мониторинга Jenkins и проверьте состояние агента.
Примечание.
Агенты Jenkins подключаются к контроллеру через порт
5000
. Убедитесь, что для порта разрешен входящий трафик на контроллер Jenkins.
Создание задания сборки
Теперь для демонстрации сборки Jenkins в экземпляре контейнера Azure необходимо создать задание сборки Jenkins.
Выберите Новый элемент, присвойте проекту сборки имя, например aci-demo, затем выберите тип Универсальный проект и щелкните ОК.
В разделе Общие проверьте, что установлен флажок Ограничения для запуска этого проекта. В поле выражения метки введите linux. Такая конфигурация гарантирует, что это задание сборки будет выполняться только в облаке экземпляров контейнеров Azure.
В разделе Сборка выберите действие Добавить шаг сборки и щелкните Выполнить оболочку. Введите
echo "aci-demo"
в качестве команды.Выберите Сохранить.
Запустите задание сборки.
Чтобы проверить задание сборки и просмотреть экземпляры контейнеров Azure, запустите сборку вручную.
Выберите Начать сборку, чтобы начать сборку. После запуска задания отображается состояние задания.
Щелкните сборку № 1 в разделе Журнал сборок.
Выберите Выходные данные консоли, чтобы просмотреть выходные данные сборок.