Руководство. Масштабирование развертываний Jenkins с виртуальной машиной, работающей в Azure
Статья
Важно!
Многие службы Azure используют подключаемые модули Jenkins. Поддержка некоторых таких подключаемых модулей будет прекращена 29 февраля 2024 г. В настоящее время для интеграции Jenkins со службами Azure рекомендуется использовать Azure CLI. Дополнительные сведения см. в статье Подключаемые модули Jenkins для Azure.
В этом руководстве показано, как создать виртуальные машины Linux в Azure и добавить виртуальную машину в качестве рабочего узла в Jenkins.
При работе с этим руководством вы сделаете следующее:
создадите компьютер агента;
Добавление агента в Jenkins
создавать универсальное задание Jenkins;
запускать задание в агенте виртуальной машины Azure.
Войдите на виртуальную машину с помощью средства SSH.
Bash
ssh username@123.123.123.123
Установите JDK, используя apt. Также возможна установка с помощью других диспетчеров пакетов, например yum или pacman.
Bash
sudo apt-get install -y default-jdk
После установки выполните java -version, чтобы проверить окружение Java. Выходные данные будут содержать номера версий, связанные с разными частями JDK.
Войдите на виртуальную машину с помощью средства SSH или путем подключения к удаленному рабочему столу.
При использовании JNLP необходимо настроить URL-адрес Jenkins.
В меню выберите пункт Manage Jenkins (Управление Jenkins).
В разделе System Configuration (Конфигурация системы) выберите элемент Configure System (Настройка системы).
Убедитесь, что для параметра Jenkins URL (URL-адрес Jenkins) задан HTTP-адрес установки Jenkins: http://<your_host>.<your_domain>:8080/.
Выберите Сохранить.
Добавление агента в Jenkins
В меню выберите пункт Manage Jenkins (Управление Jenkins).
В разделе System Configuration (Конфигурация системы) выберите элемент Manage Nodes and Clouds (Управление узлами и облаками).
В меню выберите пункт New Node (Новый узел).
Введите значение в поле Node Name (Имя узла).
Выберите элемент Permanent Agent (Постоянный агент).
Нажмите ОК.
Укажите значения для следующих полей:
Имя. Укажите уникальное имя, которое идентифицирует агент в новой установке Jenkins. Это значение может отличаться от имени узла агента. Но вы можете сделать эти два значения одинаковыми. В качестве значения имени можно использовать любой специальный символ из следующего списка: ?*/\%!@#$^&|<>[]:;.
Удаленный корневой каталог: агент должен иметь каталог, выделенный Jenkins. Укажите путь к этому каталогу в агенте. Лучше использовать абсолютный путь, например /home/azureuser/work или c:\jenkins. Он должен быть локальным для компьютера агента. Этот путь может быть невидимым для главного сервера. Если используется относительный путь, например ./jenkins-agent, путь будет относительным для рабочего каталога, предоставленного методом запуска.
Метки: метки используются для группировки семантических агентов в одну логическую группу. Например, можно определить метку UBUNTU для всех агентов, работающих под управлением такого дистрибутива Linux, как Ubuntu.
Метод запуска: есть два варианта запуска удаленного узла Jenkins: запуск агентов через SSH и агент запуска с помощью выполнения команды на главном сервере:
Запуск агентов с помощью SSH: укажите значения для следующих полей:
Узел: общедоступный IP-адрес виртуальной машины или доменное имя. Например, 123.123.123.123 или example.com.
Учетные данные: выберите учетные данные, которые будут использоваться для входа в удаленный узел. Кроме того, вы можете нажать кнопку Add (Добавить), чтобы определить новые учетные данные, а затем выбрать эти новые учетные данные после создания.
Стратегия проверки ключа узла: определяет, как Jenkins проверяет ключ SSH, представленный удаленным узлом при подключении.
Запуск агента с помощью команды на главном сервере.
Скачайте из agent.jarhttps://<your_jenkins_host_name>/jnlpJars/agent.jar. Например, https://localhost:8443/jnlpJars/agent.jar.
Отправьте agent.jar на виртуальную машину.
Запустите Jenkins с помощью команды ssh <node_host> java -jar <remote_agentjar_path>. Например, ssh azureuser@99.99.999.9 java -jar /home/azureuser/agent.jar.
Выберите Сохранить.
После определения конфигураций Jenkins добавляет виртуальную машину в качестве нового рабочего узла.
На вкладке General (Общие) выберите Restrict where project can be run (Ограничения для запуска проекта) и введите для выражения метки значение ubuntu. Появится сообщение, подтверждающее обработку метки конфигурацией облака, созданной на предыдущем шаге.
На вкладке Source Code Management (Управление исходным кодом) выберите Git и добавьте следующий URL-адрес в поле Repository URL (URL-адрес репозитория): https://github.com/spring-projects/spring-petclinic.git.
На вкладке Build (Сборка) выберите Add build step (Добавить шаг сборки), а затем — Invoke top-level Maven targets (Вызов целевых объектов Maven верхнего уровня). В поле Goals (Цели) введите package.
Выберите Сохранить.
Сборка задания в агенте виртуальной машины Azure
Выберите задание, созданное на предыдущем шаге.
Выберите Build now (Собрать). Новая сборка поставлена в очередь, но она не будет запущена до создания агента виртуальной машины в подписке Azure.
По завершении сборки перейдите к окну Console output (Вывод на консоль). Вы увидите, что сборка выполнена в агенте Azure удаленно.
Присоединитесь к серии встреч для создания масштабируемых решений искусственного интеллекта на основе реальных вариантов использования с другими разработчиками и экспертами.
Arbeiten Sie mit der Anleitung des Space Game-Webteams, um Ihren Build-Agent einzurichten, der lokal oder auf einem virtuellen Azure-Computer in der Cloud ausgeführt wird.
Erstellen von End-to-End-Lösungen in Microsoft Azure zum Erstellen von Azure Functions-Lösungen, Implementieren und Verwalten von Web-Apps, Entwickeln von Lösungen mit Azure Storage u. v. m.