#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
кнопке/экране на экране редактирования конвейера.