Выполнить универсальный c сквозной тест в Azure конвейерах из отдельного хранилища - PullRequest
0 голосов
/ 18 марта 2020

Я работаю с проектом в Azure DevOps. Проект распределен по нескольким репозиториям, содержащим Azure функции, logi c apps et c с несколькими конвейерами CI / CD. В настоящее время я работаю над комплексным тестированием для этого проекта.

Я хотел бы иметь тесты в отдельном репозитории и иметь возможность запускать тесты, когда работают другие конвейеры CD. Как я могу выполнить это? Тесты построены с помощью MSTest и в настоящее время выполняются в сборочном конвейере.

1 Ответ

0 голосов
/ 19 марта 2020

Вы можете использовать rest api для запуска тестов при запуске других CD-конвейеров.

Если вы хотите запустить тесты в отдельном конвейере CI. Вам нужно создать конвейер CI для запуска тестов для этого репозитория тестов. Затем добавьте задачу сценария в конвейер CD, чтобы вызвать build очередь restful api . Пожалуйста, проверьте приведенный ниже пример сценария в задаче powershell.

$url = "$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_apis/build/builds?api-version=5.1"

$qbody = '{ 
                "definition": {
                   "id": "the definition id of the test CI pipeline"    
                  } 
              }'

$update = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"} -ContentType "application/json"  -Method post -Body $qbody

Вам также нужно go на работу агента и проверить Allow scripts to access the OAuth token. enter image description here

Еще один способ запуска тестового конвейера CI из конвейера CD - добавить Trigger Azure DevOps Pipeline в конвейер CD и настроить его для запуска тест CI конвейера.

...