Команда Azure DEVOPS наконец выпустила Sprint 166. Это очень Маленький Обновление, но вводит новую аккуратную функцию, которая слишком долго просрочена.
Шансы высоки, что вы знакомы с каким-то настоящим безумием, как это:
Он принимает вас три клика, чтобы изменить одно значение для каждой переменной. Утомительный и раздражающий.
Параметры времени выполнения Введите игру
Microsoft’s Последние заметки выпуска Укажите это:
Параметры времени выполнения В этом обновлении мы добавили параметры выполнения. Параметры времени выполнения позволяют вам больше контролировать, какие значения могут быть переданы в трубопровод. В отличие от переменных, во время выполнения параметры имеют типы данных и не становятся автоматически переменные окружения.
Это настоящий божественный, потому что мы превращаем экраны выше во что-то красивое, что сэкономит вам много времени:
Позвольте мне быстро показать вам, как вам не нужно копать через документацию DEVOPS.
Мое предыдущее определение трубопровода было похоже на это в начале файла YAML:
trigger: - master variables: buildConfiguration: Release
А на панели переменных мне пришлось установить дополнительные переменные для них, чтобы появиться в новом лезвие трубопровода:
Почему нам нужно установить переменные в двух разных местах?
Прежде всего, давайте избавимся от переменных в вариабельной панели и файле YAML.
После этого включите Параметры
Ключ, который принимает список параметров. Давайте заменим переменную конфигурации сборки с этим:
trigger: - master parameters: - name: buildConfiguration displayName: 'Build Configuration' type: string default: Release values: - Release - Debug
Параметры очень универсальны и могут быть сдержаны для многих типов, которые вы уже используете для таких как Строки , логические , числа , Объекты , но и шаги , Работа и Этапы из вашего определения трубопровода. Wowzers.
Аккуратное дополнение является то, что вы можете также установить значения по умолчанию для него.
Переходя к другим переменным, мы можем просто ввести два дополнительных логических параметра, которые проще, чем один до:
parameters: - name: buildConfiguration # ... - name: runDockerBuild displayName: 'Run Docker' type: boolean default: false - name: pushDockerImages displayName: 'Push Images' type: boolean default: false
Очень просто. Теперь давайте Заменить все текущие переменные ссылки параметрам.
Для этого вы можете просто поменяться $ (variabblename)
или variables.variablenaname
к $ {{parations.parametername}})
.
Важно знать, что параметры доступны только при разрабатывании шаблона и должны быть окружены $ {{}}
Отказ
Существует специальная декларация типа для всех условий: ключи. Они не работают на параметры, поэтому вам нужно будет заменить такие объявления, как эти
- job: DockerBuild displayName: 'Docker Build' condition: variables.runDockerBuild pool: vmImage: 'ubuntu-latest' steps: # ...
К этому:
- ${{ if eq(parameters.runDockerBuild, true) }} - job: DockerBuild displayName: 'Docker Build' pool: vmImage: 'ubuntu-latest' steps: # ...
На самом деле, я лгу, вы можете использовать переменные шаблона и окружать их $ {{}}
нравится:
- task: DockerCompose@0 displayName: 'Push Images' condition: ${{parameters.pushDockerImage}} # <-- inputs: # ...
Но услышать меня : Это, вероятно, что-то, к чему-то не привышенному и вроде чувствует себя странно на первый взгляд, но в долгосрочной стороне он помогает вам организовать и перейти к условным шагам в ваших определениях с легкостью, потому что они легче заметить условия и прежде всего, «Часть анализируемого шаблона и, следовательно, не будет отображаться на резюме рабочих мест:
Вуаля. Теперь пришло время сохранить и зафиксировать ваши модификации и управлять вашим попечным конвейером. Вам встретятся с этим красивым лезвием:
И вот как вы можете улучшить ваши трубопроводы Lazure DevOps в течение 2 минут. Стоило того.
Вот некоторые возможные случаи использования для вас, чтобы попробовать
- Передайте тег докера изображения в качестве параметра
- Выберите среду, которую вы хотите развернуть, чтобы
- Определите, хотите ли вы управлять тестами интеграции
- Установите версию вашей сборки/библиотеки/что бы ни
- Передайте свое текущее настроение как параметр и печать с
эхо
так что ваши друзья знают, как вы делаете, потому что почему нет
Ура и веселиться. Не стесняйтесь следовать я на среднем или мой dev.to для будущих постов.
Дальнейшие ссылки
- Параметры времени выполнения Документы : https://docs.microsoft.com/en-us/azure/devops/pipelines/process/runtime-parameters?view=azure-devops
- Azure DevOps Releask Notes Notes Sprint 166 : https://docs.microsoft.com/en-us/azure/devops/release-notes/2020/sprint—66-Update.
Оригинал: «https://dev.to/ginomessmer/improve-your-azure-pipelines-with-the-new-runtime-parameters-36h0»