База знанийCI/CDПеременные

Переменные

Переменные — это неконфиденциальные данные, которые можно хранить и повторно использовать в рабочих процессах 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 для проверки значений и учитывать порядок переопределения на разных уровнях видимости.