Запуск сборки по завершении другой сборки, когда приходит запрос на извлечение - PullRequest
1 голос
/ 14 июня 2019

У нас есть веб-приложение в репозитории DevOps Azure, и в ветви master существует политика ветвления, которая запускает сборку при создании запроса на извлечение. Это подтверждает, что он компилирует и выполняет проверки качества кода и тому подобное.

У нас также есть несколько интеграционных тестов (с использованием Mocha и Selenium), которые живут в другом репо. Я хотел бы запустить интеграционные тесты при создании PR против master.

Насколько я знаю, у меня не может быть одного и того же извлечения сборки из двух разных репозиториев (без использования расширений, и в любом случае мне кажется чище иметь две отдельные сборки). Поэтому я подумал, что у меня будет еще одна сборка для запуска интеграционных тестов. Сборка, извлекаемая из репозитория webapp, будет заключительным этапом, на котором она будет развернута в среде интеграционных тестов, а затем вторая сборка получит последнюю версию интеграционных тестов и выполнит их в среде интеграционных тестов. Я создал триггер «Завершение сборки» в сборке интеграционных тестов, которая запускается при завершении сборки веб-приложения.

Проблема в том, что, когда я ставлю сборку веб-приложения вручную, он запускает сборку интеграционных тестов после завершения. Но когда сборка webapp ставится в очередь входящим PR, сборка интеграционных тестов не запускается.

Это ошибка в DevOps Azure или я ошибаюсь?

1 Ответ

0 голосов
/ 16 июня 2019

Кроме того, на моей стороне сборки из PR не запускают другие сборки (с триггером завершения сборки), я не знаю, является ли это ошибкой или это сделано по замыслу.

В любом случае, есть обходной путь - последний шаг в первой сборке вызовет вторую сборку.как?с Trigger Build задача.

Вам просто нужно изменить ветку, потому что это будет ветвь слияния из PR, которого нет в репозитории тестов:

enter image description here

Вы также можете сделать это без установки расширений с помощью задачи PowerShell и Rest API .

...