Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
В этой статье объясняется, как создавать и использовать группы переменных в Azure Pipelines. Группы переменных хранят значения и секреты, которые можно передать в конвейер YAML или сделать доступными для нескольких конвейеров в проекте.
Секретные переменные в группах переменных защищены ресурсами. Можно добавить сочетания утверждений, проверок и разрешений конвейера, чтобы ограничить доступ к секретным переменным в группе переменных. Доступ к несекретным переменным не ограничен утверждениями, проверками или разрешениями конвейера.
Группы переменных соответствуют модели безопасности библиотеки для ролей и разрешений.
Предварительные условия
- Организация и проект Azure DevOps Services, где у вас есть разрешения на создание конвейеров и переменных.
- Проект в организации Azure DevOps или коллекции Azure DevOps Server. Создайте проект , если у вас его нет.
- Если вы используете интерфейс командной строки Azure DevOps, вам потребуется Azure CLI версии 2.30.0 или более поздней с расширением Azure DevOps CLI. Дополнительные сведения см. в статье "Начало работы с Azure DevOps CLI".
- Коллекция и проект Azure DevOps Server, где у вас есть разрешения на создание конвейеров и переменных.
- Проект в организации Azure DevOps или коллекции Azure DevOps Server. Создайте проект , если у вас его нет.
Настройка CLI
Если вы используете интерфейс командной строки Azure DevOps, необходимо настроить интерфейс командной строки для работы с организацией и проектом Azure DevOps.
Войдите в организацию Azure DevOps с помощью команды az login .
az loginЕсли появится запрос, выберите подписку из списка, отображаемого в окне терминала.
Убедитесь, что вы используете последнюю версию Azure CLI и расширение Azure DevOps, выполнив следующие команды.
az upgrade az extension add --name azure-devops --upgradeВ командах ИНТЕРФЕЙСА командной строки Azure DevOps можно задать организацию и проект по умолчанию с помощью:
az devops configure --defaults organization=<YourOrganizationURL> project=<Project Name or ID>Если вы не установили организацию и проект по умолчанию, можно использовать
detect=trueпараметр в командах для автоматического обнаружения контекста организации и проекта на основе текущего каталога. Если значения по умолчанию не настроены или обнаружены, необходимо явно указать параметрыorgиprojectв командах.
Создание группы переменных
В вашем проекте можно создавать группы переменных для запусков конвейеров.
Примечание.
Чтобы создать группу секретных переменных для связывания секретов из хранилища ключей Azure в качестве переменных, следуйте инструкциям в статье "Связывание группы переменных с секретами в Azure Key Vault".
В проекте Azure DevOps выберите библиотеку Pipelines>в меню слева.
На странице Библиотека выберите + Группа переменных.
На странице новой группы переменных в разделе "Свойства" введите имя и необязательное описание для группы переменных.
В разделе "Переменные" выберите + Добавить, а затем введите имя и значение переменной для включения в группу. Если вы хотите зашифровать и безопасно сохранить значение, щелкните значок блокировки рядом с переменной.
Нажмите кнопку +Добавить, чтобы добавить каждую новую переменную. После завершения добавления переменных нажмите кнопку "Сохранить".
Теперь эту группу переменных можно использовать в конвейерах проекта.
Обновление групп переменных
Группы переменных можно обновить с помощью пользовательского интерфейса Azure Pipelines.
- В проекте Azure DevOps выберите библиотеку Pipelines>в меню слева.
- На странице библиотеки выберите группу переменных, которую вы хотите обновить. Вы также можете наведите указатель мыши на список групп переменных, выберите значок "Дополнительные параметры " и выберите " Изменить " в меню.
- На странице группы переменных измените любой из свойств и нажмите кнопку "Сохранить".
Удаление группы переменных
Группы переменных можно удалить в пользовательском интерфейсе Azure Pipelines.
- В проекте Azure DevOps выберите библиотеку Pipelines>в меню слева.
- На странице библиотеки наведите указатель мыши на группу переменных, которую вы хотите удалить, и выберите значок "Дополнительные параметры".
- Выберите "Удалить" в меню и нажмите кнопку "Удалить" на экране подтверждения.
Управление переменными в группах переменных
Вы можете изменять, добавлять или удалять переменные в группах переменных с помощью пользовательского интерфейса Azure Pipelines.
- В проекте Azure DevOps выберите библиотеку Pipelines>в меню слева.
- На странице библиотеки выберите группу переменных, которую вы хотите обновить. Вы также можете наведите указатель мыши на список групп переменных, выберите значок "Дополнительные параметры " и выберите " Изменить " в меню.
- На странице группы переменных можно:
- Измените любое из имен или значений переменной.
- Удалите любые переменные, выбрав значок мусора рядом с именем переменной.
- Измените переменные на секретные или несекретные, выбрав значок блокировки рядом со значением переменной.
- Добавьте новые переменные, нажав кнопку +Добавить.
- После внесения изменений нажмите кнопку "Сохранить".
Использование групп переменных в конвейерах
Группы переменных можно использовать в yamL или классических конвейерах. Изменения, внесенные в группу переменных, автоматически доступны для всех определений или этапов, с которыми связана группа переменных.
Если вы назовете только группу переменных в конвейерах YAML, любой пользователь, который может отправить код в репозиторий, может извлечь содержимое секретов в группе переменных. Таким образом, чтобы использовать группу переменных с конвейерами YAML, необходимо авторизовать конвейер для использования группы. Конвейер можно авторизовать для использования группы переменных в пользовательском интерфейсе Azure Pipelines или с помощью Azure DevOps CLI.
Авторизация через пользовательский интерфейс Пайплайнов
Конвейеры можно авторизовать для использования групп переменных с помощью пользовательского интерфейса Azure Pipelines.
- В проекте Azure DevOps выберите библиотеку Pipelines>в меню слева.
- На странице библиотеки выберите группу переменных, которую требуется авторизовать.
- На странице группы переменных перейдите на вкладку "Разрешения конвейера ".
- На экране разрешений конвейера выберите + и выберите конвейер для авторизации. Или щелкните значок "Дополнительные действия", выберите "Открыть доступ" и снова выберите "Открыть доступ", чтобы подтвердить.
Выбор конвейера разрешает этот конвейер использовать группу переменных. Чтобы авторизовать другой конвейер, снова выберите + значок. При выборе "Открыть доступ" все конвейеры проектов разрешаются использовать группу переменных. Открытый доступ может быть хорошим вариантом, если у вас нет секретов в группе.
Другой способ авторизации группы переменных — это выбрать конвейер, нажать "Изменить", а затем вручную добавить сборку в очередь. Вы увидите ошибку авторизации ресурса и можете явно добавить конвейер в качестве авторизованного пользователя группы переменных.
Авторизация с помощью интерфейса командной строки Azure DevOps
В Azure DevOps Services можно авторизовать группы переменных с помощью Azure DevOps CLI.
Команды Интерфейса командной строки Azure DevOps не поддерживаются для Azure DevOps Server.
Чтобы авторизовать все конвейеры проекта для использования группы переменных, задайте параметр authorize в команде az pipelines variable-group create на true. Этот открытый доступ может быть хорошим вариантом, если у вас нет секретов в группе.
Связывание группы переменных с конвейером
После того как вы авторизуете конвейер YAML для использования группы переменных, переменные из этой группы можно будет использовать в конвейере.
Чтобы использовать переменные из группы переменных, добавьте ссылку на имя группы в файле конвейера YAML.
variables:
- group: my-variable-group
Вы можете ссылаться на несколько групп переменных в одном конвейере. Если несколько групп переменных включают переменные с одинаковым именем, последняя группа переменных, использующая переменную в файле, задает значение переменной. Дополнительные сведения о приоритете переменных см. в разделе "Расширение переменных".
Вы также можете ссылаться на группу переменных в шаблоне.
Следующий файл шаблона variables.yml ссылается на группу my-variable-groupпеременных. Группа переменных содержит переменную с именем myhello.
variables:
- group: my-variable-group
Конвейер YAML ссылается на шаблон variables.yml и использует переменную $(myhello) из группы my-variable-groupпеременных.
stages:
- stage: MyStage
variables:
- template: variables.yml
jobs:
- job: Test
steps:
- script: echo $(myhello)
Использование переменных в связанной группе переменных
Вы обращаетесь к значениям переменных в связанной группе переменных так же, как и к переменным, заданным в конвейере. Например, чтобы получить доступ к значению переменной, именованной customer в группе переменных, связанной с конвейером, можно использовать $(customer) в параметре задачи или скрипте.
Если в файле конвейера используются как автономные переменные, так и группы переменных, используйте name-value синтаксис для автономных переменных.
variables:
- group: my-variable-group
- name: my-standalone-variable
value: 'my-standalone-variable-value'
Чтобы ссылаться на переменную в группе переменных, можно использовать синтаксис макросов или выражение среды выполнения. В следующих примерах группа my-variable-group имеет переменную с именем myhello.
Чтобы использовать выражение среды выполнения, выполните приведенные действия.
variables:
- group: my-variable-group
- name: my-passed-variable
value: $[variables.myhello]
- script: echo $(my-passed-variable)
Чтобы использовать синтаксис макроса, выполните следующее:
variables:
- group: my-variable-group
steps:
- script: echo $(myhello)
Доступ к секретным переменным, включая зашифрованные переменные и переменные хранилища ключей, нельзя получить непосредственно в скриптах. Эти переменные необходимо передать в качестве аргументов в задачу. Дополнительные сведения см. в разделе "Секретные переменные".