#azure-devops #azure-pipelines #azure-pipelines-release-pipeline
#azure-devops #azure-конвейеры #azure-pipelines-релиз-конвейер
Вопрос:
Учитывая следующий конвейер выпуска:
Текущая логика:
- Этап «Развертывание в dev» развертывается в первой среде.
- Запускается сразу после успешной сборки.
- Технические подробности: развертывается в IIS.
- Этап «Регрессионные тесты» запускает тесты в этой установленной среде.
- Запускается после успешного завершения предыдущего этапа.
- Технические подробности: использует newman для запуска тестов postman.
Вопрос:
- В дополнение к текущей логике я также хочу запускать этап регрессионных тестов по ежедневному графику.
- Не следует создавать новую сборку, не следует повторять этап «Развертывания в dev», только запускать этап «Регрессионных тестов».
Можно ли это сделать без отдельного воссоздания этапа?
Комментарии:
1. То есть это похоже на запланированное повторное развертывание на этапе «Регрессионных тестов» для последней сборки?
2. Да, это звучит правильно.
Ответ №1:
Да, все, что вам нужно сделать, это включить триггер планирования предварительного развертывания на этапе «Регрессионных тестов». Это может показаться не сразу очевидным, но это будет выполняться по расписанию с использованием артефактов сборки из последней версии. Новые сборки не запускаются.
При выборе этого параметра можно выбрать дни недели и время суток, когда конвейеры Azure автоматически начнут новое развертывание. В отличие от триггеров запланированного выпуска, вы не можете настроить несколько расписаний для триггеров этапа. Обратите внимание, что с помощью запланированных триггеров создается новое развертывание, в котором развертываются артефакты из самой последней доступной версии, перезаписывая все ранее развернутые артефакты для этапа. Для этого необязательно требуется наличие более новой версии артефактов
При объединении триггеров After Stage и Schedule этап «Регрессионные тесты» будет выполняться после успешного «Развертывания в Dev», а затем снова по указанному вами расписанию. Обратите внимание, что при неудачном развертывании это не предотвратит запуск запланированного триггера, поэтому вам нужно убедиться, что у вас есть успешное «Развертывание для разработчиков» перед ежевечерним запуском.
Из приведенной выше цитаты вы заметите, что используется термин «новое развертывание», который может показаться запутанным, исходя из вашего текущего использования. Термин «Этап» ранее назывался «Средой», а задачи, которые он содержал, считаются «развертыванием». Поскольку ваши регрессионные тесты на самом деле ничего не развертывают, они просто запускают тесты.
Комментарии:
1. Я настроил это, но, похоже, это не сработало. Однако мне, вероятно, сначала придется запустить весь конвейер (посредством сборки), чтобы использовалась новая версия конвейера. Протестируем это.
2. Да, потому что вы только изменили определение выпуска. Вам нужно будет создать выпуск с включенными настройками, чтобы это вступило в силу.