Локальный агент для Azure Pipelines

Добро пожаловать в наше руководство по установке Агента Azure. В этой статье мы рассмотрим процесс установки локального агента для Azure Pipelines.

Self-Hosted build Agent for Azure Pipelines
Self-Hosted build Agent for Azure Pipelines

Что такое Azure DevOps??

Azure DevOps — это интегрированная служба, предоставляемая Azure. Как SaaS-предложение, она не имеет предустановленного хоста или, точнее, агента для выполнения операций. Следовательно, для эффективного использования нашего Pipeline Azure DevOps мы должны убедиться, что агент настроен в нашем Пуле Агентов. В этом блоге мы узнаем, как настроить агента, а затем как создать для него сервис.

Что такое Агент Azure?

Агент Azure — это программное обеспечение, позволяющее собирать код или развертывать ПО с помощью Azure Pipelines. Он служит мостом между вашей инфраструктурой и службами Azure, обеспечивая бесперебойный процесс автоматизации.

Есть два основных типа агентов:

  • Управляемые Майкрософт Агенты:: Эти агенты управляются Майкрософт и не требуют настройки с вашей стороны.
  • Локальные Агенты:: Эти агенты настраиваются и управляются на вашей собственной инфраструктуре, что дает вам больше контроля над средой сборки. После установки агента на вашу машину вы можете установить любое другое программное обеспечение на эту машину, необходимое для ваших задач сборки или развертывания.

Настройка локального Агента может показаться сложной, но, следуя приведенным ниже шагам, мы можем легко настроить агента в нашем Пуле Агентов.

Итак, давайте двигаться шаг за шагом.

Шаг 1: Создание Пула Агентов

  • Войдите на сайт Microsoft Azure
  • Войдите в свой проект разработки в DevOps (https://dev.azure.com/<имя вашего проекта>).
  • Перейдите в Настройки Проекта -> Pipelines -> Пулы Агентов и нажмите Создать Новый Пул Агентов.
  • Выберите локальный Агент.
  • Введите имя агента и нажмите Создать.

Self-Hosted build Agent for Azure Pipelines
Self-Hosted build Agent for Azure Pipelines

Шаг 2: Генерация Личного Токена Доступа (PAT)

Перейдите в раздел Личные Токены Доступа в Настройках Пользователя, расположенных в правом верхнем углу экрана. Назовите его соответствующим образом и предоставьте разрешения в соответствии с вашими требованиями.

Self-Hosted build Agent for Azure Pipelines
Self-Hosted build Agent for Azure Pipelines

Self-Hosted build Agent for Azure Pipelines
Self-Hosted build Agent for Azure Pipelines

Если у вас возникнут вопросы, попробуйте следовать инструкциям по этой ссылке - PAT key.

Шаг 3: Проверка Предварительных Требований

Прежде чем начать процесс установки, убедитесь, что ваша система соответствует требованиям, ссылки на требования к каждой из систем приведены ниже.

Когда речь идет о безопасности, основные принципы:

  • Защитите папки агента, так как они содержат конфиденциальную информацию.
  • Используйте минимально необходимые разрешения для функциональности агента.

Шаг 4: Как получить агент?

После создания пула агентов и генерации PAT выберите пул и нажмите Новый Агент. В новом всплывающем окне выберите операционную систему, которая вам нужна, и двигайтесь в соответствии с руководством.

Self-Hosted build Agent for Azure Pipelines
Self-Hosted build Agent for Azure Pipelines

Шаг 5: Настройка Агента

Мы рассмотрим настройку для Linux в качестве примера, для других операционных систем шаги будут идентичны.

После того как вы нажали "Скачать" или скопировали URL, вам нужно будет войти в свою локальную машину, на которой мы будем устанавливать агент.

Создайте папку агента и перейдите в нее с помощью следующей команды:

mkdir myagent && cd myagent

Скачайте агент с помощью следующей команды в случае Linux:

wget https://vstsagentpackage.azureedge.net/agent/3.240.1/vsts-agent-linux-x64-3.240.1.tar.gz

Распакуйте содержимое:

tar zxvf ./vsts-agent-linux-x64-3.240.1.tar.gz

После извлечения содержимого настройте агент с помощью запуска скрипта:

./config.sh

Self-Hosted build Agent for Azure Pipelines

Укажите URL сервера (https://dev.azure.com/<имя вашего проекта>), ключ PAT, имя созданного вами пула агентов, имя агента и рабочую папку.

После настройки агента он отобразится в вашем пуле в Azure DevOps с красной отметкой - Offline.

Вы можете запустить агента в интерактивном режиме с помощью команды:

./run.sh

Это переведет вашего агента из Оффлайн в Онлайн. Однако после завершения работы ./run.sh наш агент снова перейдет в оффлайн и не будет доступен для развертывания, пока мы его снова не запустим.

Чтобы исключить необходимость рутинных действий и иметь агента, который всегда на связи, мы настроим его как сервис.

Мы можем создать сервис с помощью скрипта:

./svc.sh install && ./svc.sh start

Или с помощью создания файла конфигурации сервиса Для этого откройте редактор для создания файла сервиса

sudo nano /etc/systemd/system/agent.service

Скопируйте и вставьте следующее содержимое:

[Unit]
Description=Azure-devops-agent-ubuntu service

[Service]
User=<your username>
ExecStart=/path/to/your/agent/run.sh
Restart=always

[Install]
WantedBy=multi-user.target

Не забудьте заменить <ваше имя пользователя> и /путь/к/вашему/агенту/run.sh на актуальные данные.

После сохранения файла активируйте и запустите сервис:

sudo systemctl daemon-reload
sudo systemctl enable agent.service
sudo systemctl start agent.service
sudo systemctl status agent.service

Теперь сервис для вашего агента Azure активирован и будет работать непрерывно, он уже готов принимать задания!

И последнее

Установка Агента Azure является ключевым шагом в автоматизации процессов сборки и развертывания. Следуя подробным инструкциям для каждой операционной системы, вы можете обеспечить бесперебойную и безопасную интеграцию со службами Azure.

Мы надеемся, что наше руководство было полезно для вас. Если у вас возникнут вопросы или потребуется дополнительная помощь, пожалуйста, обратитесь к официальной документации Azure.