Проверьте, работает ли работник самостоятельно или на Azure - PullRequest
0 голосов
/ 03 июля 2019

Для нашего продукта необходимо знать, не удалось ли кому-нибудь выполнить сборку в конвейерах Azure, получив доступ к рабочей машине.

Итак, мы хотим знать, был ли он агентом, размещенным пользователем самостоятельно, или агентом Azure Pipelines. Последний заслуживает доверия, первый - нет.

Кто-нибудь знает, как получить эту информацию («самостоятельно размещенную пользователем» или «предоставленную Azure Pipelines») через веб-хук успешной сборки или через REST API?

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Веб-хук получил информацию, такую ​​как API Rest Builds - Get, которая содержит имя пула агента, а также свойство isHosted:

queue: {
           "id": 10
           "name": "Hosted VS2017"
           "pool": {
                       "id": 4,
                       "name": "Hosted VS2017",
                       "isHosted": true
                   }
       }

Таким образом, если isHosted равно true, рабочий компьютер «Предоставлен конвейерами Azure», а если у меня false, то рабочий «самодостаточен пользователем».

Вы также можете предположить, что если имя пула содержит слово «Hosted», то это агент Microsoft Hosted, поскольку эти пулы удалить нельзя.

1 голос
/ 04 июля 2019

Нажав непосредственно на запись сборки, вы можете увидеть, является ли используемый агент размещенным или закрытым.enter image description here Вы также можете добавить задачу powershell в задание агента конвейера сборки и добавить следующий сценарий.

Write-Host agent id : $(agent.id) , agent name : $(agent.name)

Поскольку agent.name и agent.id являются переменными среды,Вы можете получить их напрямую, а затем вывести их в Power Shell.По имени вы можете судить, является ли используемый агент размещенным или частным.

enter image description here

...