Трубопроводы выпуска Azure. Можно ли предотвратить этап ручного запуска до завершения другого этапа? - PullRequest
2 голосов
/ 01 июля 2019

В Octopus Deploy есть концепция жизненных циклов.Они выглядят примерно так:

  • Dev
    • DevEnv1
    • DevEnv2
  • Постановка
    • StagingEnv
  • Prod
    • ProdEnv

Это позволяет вам говорить такие вещи, как «Среды из Dev должны быть завершеныперед развертыванием в Staging ".

В Azure Devops вы можете добиться этого, если используете триггер" After Stage ".Однако это делает развертывание на следующем этапе автоматическим.Вы можете установить одобрения после 1-го этапа или до 2-го этапа, чтобы остановить это, но если они «отклонены», то это выглядит как сбой, когда это не обязательно так - довольно часто мы просто не хотим развертываться на этихокружения.

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

Есть ли способ добиться этого?

1 Ответ

1 голос
/ 02 июля 2019

Боюсь, что лучшего способа на данный момент нет.Даже если вы используете обходной путь с остальными api в воротах, если вы не проходите через ворота, результирующее состояние стадии будет таким же, как и «отклонено».enter image description here enter image description here

...