Self-hosted агент сборки для Azure Pipelines
Self-hosted агент сборки для Azure Pipelines
Добро пожаловать в наше руководство по установке агента Azure В этой статье мы разберём процесс установки на случай, если вы настраиваете self-hosted агент для Azure Pipelines.
Что такое Azure DevOps?
Azure DevOps — интегрированный сервис от Azure. Поскольку это SaaS-решение, в нём нет предустановленного хоста, а точнее — агента, который выполнял бы операции. Поэтому, чтобы полноценно использовать конвейер Azure DevOps, нужно настроить агент в пуле агентов (Agent Pool). В этой статье мы разберёмся, как настроить агент, а затем — как создать для него службу на хосте.
Что такое агент Azure?
Агент Azure — это программа, которая позволяет собирать код и развёртывать ПО с помощью Azure Pipelines. Он служит связующим звеном между вашей инфраструктурой и сервисами Azure и обеспечивает бесперебойную автоматизацию.
Есть два основных типа агентов:
- Агенты, размещённые Microsoft: ими управляет Microsoft, и с вашей стороны они не требуют настройки.
- Self-hosted агенты: их настраивают и обслуживают в вашей собственной инфраструктуре, что даёт больше контроля над средой сборки. Установив агент на свою машину, вы можете поставить на неё любое другое ПО, которое нужно для ваших задач сборки или развёртывания.
Настройка self-hosted агента может показаться сложной, но, если следовать шагам ниже, мы без труда настроим агент в нашем пуле агентов.
Итак, пойдём по шагам
Шаг 1. Создание пула агентов
- Войдите в Microsoft Azure
- Откройте свой проект разработки в DevOps
(https://dev.azure.com/<your project name>)- Перейдите в Project Settings -> Pipelines -> Agent Pools и нажмите New Agent Pool.
- Выберите self-hosted Agent
- Введите имя агента и нажмите Create

Шаг 2. Создание персонального токена доступа (PAT)
Откройте раздел Personal Access Tokens в меню User Settings в правом верхнем углу экрана. Дайте токену понятное имя и выдайте разрешения в соответствии с вашими задачами.


Если возникнут вопросы, воспользуйтесь инструкцией по ссылке — ключ PAT.
Шаг 3. Проверка предварительных требований
Прежде чем начать установку, убедитесь, что ваша система соответствует требованиям; ссылки на официальную документацию приведены ниже.
Что касается безопасности, вот основные принципы:
- Защитите папки агента: в них хранится конфиденциальная информация.
- Выдавайте агенту только те разрешения, без которых он не может работать.
Шаг 4. Получение агента
Когда пул агентов создан, а PAT сгенерирован, выберите пул и нажмите New Agent. В открывшемся окне выберите нужную операционную систему и следуйте инструкциям.

Шаг 5. Настройка агента
В качестве примера рассмотрим настройку в Linux; в других операционных системах шаги будут похожими.
Нажав «Download» или скопировав 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
Укажите URL сервера (https://dev.azure.com/<your project name>), ключ PAT, имя пула агентов, созданного ранее, имя агента и рабочую папку.
После настройки агент появится в вашем пуле агентов в Azure DevOps с красной отметкой — Offline.
Агент можно запустить в интерактивном режиме этим скриптом:
./run.shон переведёт агент из состояния Offline в Online.
Как только ./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Замените
<your username>и/path/to/your/agent/run.shсвоими значениями.
Сохранив файл, активируйте и запустите службу:
sudo systemctl daemon-reload
sudo systemctl enable agent.service
sudo systemctl start agent.service
sudo systemctl status agent.serviceСлужба агента Azure активирована: теперь она будет работать непрерывно и готова принимать задачи сборки!
Заключение
Независимо от того, работаете ли вы в Windows, Linux или MacOS, установка агента Azure — важный шаг к автоматизации сборки и развёртывания. Следуя подробным инструкциям для каждой операционной системы, вы обеспечите бесперебойную и безопасную интеграцию с сервисами Azure.
Надеемся, это подробное руководство было вам полезно. Если у вас остались вопросы или нужна дополнительная помощь, обратитесь к официальной документации Azure.