Утверждение конвейера выпуска Azure — на уровне задачи

У меня есть конвейер выпуска, и я хотел бы установить утверждение на уровне задачи.

Например: у меня есть следующие задачи PowerShell, и каждая из задач должна быть одобрена или не одобрена для выполнения. если я отклоню или одобрю SetupDatabricks задание, оно все равно должно перейти к следующему заданию. Одобрение или несогласие не должны влиять на то, должна ли выполняться следующая задача или нет (они должны запускаться).


54
2

Ответы:

В Azure DevOps нет такого понятия, как утверждения на уровне задач.

если я не одобряю или одобряю задачу SetupDatabricks, она все равно должна перейти к следующей задаче. Одобрение или несогласие не должны влиять на то, должна ли следующая задача выполняться или нет.

Рассмотрите возможность перемещения каждой задачи на отдельный этап, а затем настройте одобрения перед развертыванием для каждой из них.

Рекомендуемое чтение:


Решено

В Azure DevOps утверждения не устанавливаются на уровне задачи, но могут быть настроены на уровне этапа или между заданиями с задачей ручного вмешательства.

Однако если вы отклоните этап или отклоните задачу ручного вмешательства, она не перейдет к следующей задаче, поскольку конвейер находится в состоянии сбоя/отклонения.

Обходной путь

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

  1. Создайте три переменные в конвейере выпуска и включите параметр «Настраивается во время выпуска».
  2. Измените свои задачи PowerShell с помощью следующего примера сценария и используйте разные переменные для каждой задачи.
$aproveSetupDatabricks = $env:aproveSetupDatabricks

if ($aproveSetupDatabricks -eq "true") {
    Write-Host "approve SetupDatabricks"
    # Write your commands here.
} else {
    Write-Host "disapprove SetupDatabricks"
}
  1. Задайте значение переменных при создании релиза.
  2. Результат: Только если для соответствующей переменной установлено значение true, команда установки/развертывания в задаче PowerShell будет выполняться, и утверждение или отклонение не повлияет на то, будет ли запущена следующая задача или нет (они должны запускаться).