Можете ли вы контролировать выполнение задач в конвейерах Azure?

#azure-devops #azure-pipelines

Вопрос:

Я построил конвейер с 4 задачами

  • Задача 1 Создает виртуальную машину
  • Задача 2 Добавьте диск с данными
  • Задача 3 Добавьте второй диск данных
  • Задача 4 Добавьте третий диск с данными

Однако, если я хочу, чтобы выполнялись только задачи 1 и 2, как я могу пропустить задачи 3 и 4? Например, если пользователю нужен только 1 диск с данными. Я знаю, что их можно отключить вручную, но есть ли способ автоматизировать это на основе переменной?

Ответ №1:

Каждый этап, работа и задача имеют condition свойство. Вы можете использовать выражение условия, чтобы решить, какие задачи запускать и когда. Вы можете ссылаться на переменные в таких выражениях. Переместив эти переменные в «переменную времени очереди», вы можете позволить пользователю управлять ими.

Убедитесь, что вы добавляете каждое условие, succeeded() чтобы предыдущие шаги были успешно выполнены.

 condition: and(succeeded(), gt(variables.Disks, 2))
 

Видеть:

Комментарии:

1. могу ли я использовать переменную pipleine ? например, если $(datadisk1) = «y» ?

2. В примере показано, как использовать переменную. Использование эфира variables['name'] или variables.name .

3. Пример: condition: and(succeeded(), eq(variables.datadisk1, 'y'))

4. можете ли вы использовать переменные , объявленные в переменных конвейера, где вы объявляете переменную datadisk1?

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