DevOps Azure (VSTS). Как остановить этап перезаписи конвейера последующего выпуска, прежде чем переключать его в рабочий выпуск в текущем выпуске? - PullRequest
0 голосов
/ 10 октября 2018

У меня есть следующий конвейер выпуска, настроенный в Azure Dev Ops для веб-развертываний:

Конвейер выпуска - веб-развертывание

Как это настраивается ...

  • Постоянное развертывание включено
  • Этап Разработка запускается после выпуска, не имеет разрешения перед развертыванием и будет развертывать артефакт в слоте dev.
  • Этапы тестирования и подготовки запускаются после предыдущего этапа, с включенными разрешениями до развертывания и после развертывания и развертывания артефакта в соответствующем слоте.
  • * 1020Этап * Production запускается после предыдущего этапа, имеет включенную только предварительную развертку и swap промежуточный слот с рабочим слотом.
  • Откат Этап запускается вручную, активированы только утверждения перед развертыванием и swap промежуточный слот с рабочим слотом.

Я понимаю, что когда приложениеroval для этапа еще не завершен, другой выпуск не может быть развернут на этом этапе.Например, R1 ожидает утверждения после развертывания на этапе тестирования, поэтому никакие последующие выпуски (R2, R3 и т. Д.) Не могут поставить в очередь предварительное развертывание на этапе тестирования.Я также осведомлен о функциональности настроек очереди развертывания, но не думаю, что это помогает здесь - рад ошибаться.

Так что мой вопрос ...

Есть ли автоматизированный способ остановить последующий выпуск, перезаписывая промежуточный слот до того, как мы утвердим этап производства, который переводит этап в производство, для текущего выпуска?

, и мой пример таков...

Пост-развертывание в промежуточном слоте для версии 1 (R1) было одобрено.Это означает, 1) что предварительное развертывание на этапе производства (промежуточная подготовка к производству) может быть одобрено для R1 и 2) промежуточный слот на R1 «свободен» для развертывания из другого выпуска.Таким образом, теперь у R2 может быть предварительное развертывание для стадии подготовки, что означает, что он может развернуть R2 до стадии подготовки, прежде чем мы перейдем к стадии подготовки к выпуску для R1.Таким образом, если мы утвердим R1 для производства, мы переключим R2 в производство, а не R1, как предполагалось. Все еще со мной! Кроме того, мы не хотим, чтобы R2 развертывался в стадии подготовки до тех пор, пока мы, возможно, не одобрили стадию производства, поэтому, если нам потребуется откатить (переключить производство в стадию), мы поменяем оригиналверсия, а не R2.

Надеюсь, это имеет смысл.Очевидно, что это можно сделать вручную, чтобы избежать этого сценария, но, надеюсь, кто-то сможет посоветовать, как это может быть достигнуто автоматически.

К вашему сведению - первое сообщение о переполнении стека, так что будьте осторожны, если я не буду следовать протоколу;) и заранее благодарю за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...