Переменные
Переменные — это неконфиденциальные данные, которые можно хранить и повторно использовать в рабочих процессах CI/CD для настройки поведения задач и шагов. Примером таких данных может быть пути к файлам и каталогам, параметры среды выполнения, имена пользователей или адреса серверов.
Для работы с конфиденциальными данными рекомендуется использовать секреты.
Типы переменных
Переменные репозитория
Доступны только в одном конкретном репозитории. Используются, когда настройка нужна только для одного проекта, например, версия приложения или параметры сборки. Предоставляют более строгий контроль доступа.
Переменные организации
Доступны для всех репозиториев в организации. Используются, когда одни и те же параметры нужны во многих проектах, например, настройки среды разработки или общие параметры сборки. Упрощают управление и избавляют от дублирования данных.
Работа с переменными
Переменные можно добавлять в:
- Репозиторий:
Перейдите в Настройки репозитория -> Секреты и переменные -> Переменные
- Организация:
Перейдите в Настройки организации -> Секреты и переменные -> Переменные
Если переменная уровня организации имеет то же имя, что и переменная уровня репозитория, то приоритет имеет переменная уровня репозитория.
Создание переменной
Для создания переменной нажмите Добавить переменную:
Редактирование переменной
Для редактирования переменной нажмите кнопку редактирования у соответствующей переменной:
На экране редактирования измените название или значение, нажмите Сохранить:
Удаление переменной
Для удаления переменной нажмите кнопку удаления у соответствующей переменной:
Использование переменной
Чтобы использовать переменные в ваших рабочих процессах, ссылайтесь на них как на переменные окружения или входные параметры, используя префикс vars
. Например: ${{ vars.MY_VAR }}
.
Пример использования переменной
Данный YAML-файл использует переменную в шаге выполнения:
name: Пример использования переменной
on: [push]
jobs:
example-job:
runs-on: ubuntu-cloud-runner
steps:
- name: Используем переменную
run: |
echo "Версия: ${{ vars.VERSION }}"
Значения переменных в логах отображаются, в отличие от секретов.
Примечания
- При отладке переменных рекомендуется использовать
echo
для проверки значений и учитывать порядок переопределения на разных уровнях видимости.