Установите несколько агентов среды Azure DevOps на сервере

У нас есть сервер разработки, на котором размещены веб-службы из нескольких проектов Azure DevOps. Чтобы использовать конвейеры развертывания yaml, мы перешли из пулов развертывания в среды / ресурсы. В отличие от пулов развертывания ни среды, ни ресурсы не могут совместно использоваться проектами. Вы можете проголосовать здесь, чтобы изменить что.

Мы работаем следующим образом.

  1. Создайте среду для каждого проекта.
  2. Для каждой среды добавьте сервер разработки в качестве ресурса.
  3. Установите по одному агенту среды для каждого проекта на сервере.

К сожалению, это создает конфликт имен, если на сервере уже установлен агент среды.

The service already exists: vstsagent.MyDevOpsAccount..MyServer, it will be replaced
Error: Operation CreateService failed with return code 1072

person MatthiasSchuchardt    schedule 12.03.2021    source источник


Ответы (1)


TL; DR: в сценарии установки powershell измените --agent $env:COMPUTERNAME на --agent "$env:COMPUTERNAME-MyProject"

Причина, по-видимому, в том, что имя службы Windows агента - определяется следующим образом.

serviceName = StringUtil.Format(serviceNamePattern, accountName, settings.PoolName, settings.AgentName);

Он использует имя организации Azure DevOps, имя пула развертывания и имя агента. Поскольку имя организации фиксировано, а имя пула развертывания недоступно для агентов среды, имя агента кажется единственным шансом.

person MatthiasSchuchardt    schedule 12.03.2021
comment
Привет, @MatthiasSchuchardt, спасибо, что поделились своим опытом. Отметьте, пожалуйста, ваш ответ как решение данной темы. Это также может быть очень полезно для других людей, которые ищут решение подобных вопросов. Спасибо. - person Bright Ran-MSFT; 15.03.2021
comment
@MatthiasSchuchardt, это действительно работает! Сделал мой день ;) - person Rodion Sychev; 24.04.2021