Как совместить непрерывное развертывание и тестирование с запланированным тестированием последней версии - PullRequest
1 голос
/ 08 апреля 2019

Учитывая следующий конвейер выпуска:

Release Pipeline

Текущая логика:

  • Этап «Развертывание в dev» развертывается в первой среде.
    • Запускается, как только сборка завершается.
    • Технические данные: развертывание в IIS.
  • Стадия 'Регрессивные тесты' запускает тесты в этой установленной среде.
    • Запускается после успешного завершения предыдущего этапа.
    • Технические подробности: использует newman для запуска тестов почтальона.

Вопрос:

  • В дополнение к текущей логике я также хочу запускать этап регрессионных тестов по ежедневному расписанию.
  • Он не должен создавать новую сборку, не повторять этап «Развертывание в dev», только запускать этап «Регрессионные тесты».

Можно ли это сделать без отдельного воссоздания сцены?

1 Ответ

1 голос
/ 08 апреля 2019

Да, все, что вам нужно сделать, - это включить триггер предварительного развертывания Schedule для этапа «Регрессионные тесты».Это не кажется очевидным, но это будет выполняться по расписанию с использованием артефактов сборки из последней версии.Новые сборки не запускаются.

https://docs.microsoft.com/en-us/azure/devops/pipelines/release/triggers?view=azure-devops#stage-scheduled-triggers

Когда вы выбираете эту опцию, вы можете выбрать дни недели и время дня, когда конвейеры Azure автоматически начнутновое развертывание.В отличие от запланированных триггеров выпуска, вы не можете настроить несколько расписаний для триггеров этапа.Обратите внимание, что с запланированными триггерами создает новое развертывание, которое развертывает артефакты из последнего доступного выпуска , перезаписывая все ранее развернутые артефакты для этапа.Это не обязательно требует наличия более новой версии артефактов

. Комбинируя триггеры After Stage и Schedule , «Регрессионные тесты»Этап будет выполнен после успешного "Deploy to Dev" и , затем снова в указанном вами расписании.Обратите внимание, что если у вас неудачное развертывание, это не помешает запуску запланированного триггера, поэтому вам необходимо убедиться, что вы успешно выполнили «Развертывание в dev» перед ночным запуском.

Из приведенной выше цитаты:вы заметите, что используется термин «новое развертывание», который может показаться запутанным в зависимости от вашего текущего использования.Термин «Этап» ранее назывался «Средой», а содержащиеся в нем задачи считаются «Развертыванием».Поскольку ваши регрессионные тесты на самом деле ничего не развертывают, они просто запускают тесты.

...