Предопределенные переменные окружения

В SourceCraft значения некоторых переменных окружения задаются автоматически. Вы можете использовать их в своих CI/CD-процессах.

Переменная

Описание

CI

Показывает, что задание выполняется в CI-окружении. Значение всегда true.

SOURCECRAFT_CI

Показывает, что задание выполняется в CI/CD SourceCraft. Значение всегда true.

SOURCECRAFT_ROOT_DIRECTORY

Путь до директории, в которой находятся связанные с выполняемым заданием файлы.

SOURCECRAFT_WORKSPACE

Путь до директории, в которую клонируется репозиторий и которая по умолчанию назначается рабочей директорией (workdir) для кубиков с контейнером.

SOURCECRAFT_TASK_DATA

Путь до директории, в которой находятся служебные файлы выполняемого задания.

SOURCECRAFT_COMMIT_REF

Полное имя ветки или тега, в которых запустился рабочий процесс.

SOURCECRAFT_COMMIT_SHA

SHA-хэш коммита, после которого запустился рабочий процесс.

SOURCECRAFT_COMMIT_SHORT_SHA

Первые 8 символов SOURCECRAFT_COMMIT_SHA.

SOURCECRAFT_BASE_SHA

SHA-хэш коммита, по отношению к которому вычисляется список изменений. Принимает различные значения в зависимости от события, вызвавшего запуск рабочего процесса:

  • SHA-хэш предыдущего коммита в ветке в случае отправки изменений в ветку удаленного репозитория (on.push).
  • SHA-хэш последнего коммита в целевой ветке (merge-base) в случае создания пул-реквеста (on.pull_request).
  • Пустое значение в случае ручного запуска CI/CD-процесса (manual).

SOURCECRAFT_BASE_REF

Полное имя целевой ветки пул-реквеста. Заполняется только при запуске проверок в пул-реквесте и их перезапуске.

SOURCECRAFT_EVENT

Тип события-триггера, которое вызвало запуск рабочего процесса:

  • push — отправка изменений в ветку удаленного репозитория.
  • pull_request — создание пул-реквеста.
  • restart — перезапуск CI/CD-процесса.
  • manual — ручной запуск CI/CD-процесса.

SOURCECRAFT_CHECKOUT_ENABLED

Индикатор автоматического клонирования репозитория. Равно значению опции checkout:enabled. Значение по умолчанию — true.

SOURCECRAFT_WORKFLOW

Имя выполняемого рабочего процесса.

SOURCECRAFT_TASK

Имя выполняемого задания.

SOURCECRAFT_CUBE

Имя выполняемого кубика.

SOURCECRAFT_CUBE_IMAGE

Используемый кубиком Docker-образ. Определен только для кубиков, которые используют контейнер.

SOURCECRAFT_CUBE_ARTIFACTS

Список путей до артефактов кубика относительно SOURCECRAFT_WORKSPACE с ; в качестве разделителя. Определен только для кубиков с заданными артефактами.

SOURCECRAFT_COMMIT_AUTHOR

Автор коммита. Передается в формате Имя email.

SOURCECRAFT_COMMITTER

Пользователь (committer), который добавил коммит в целевую ветку. Передается в формате Имя email.

SOURCECRAFT_COMMIT_TIMESTAMP

Временная метка коммита в формате ISO 8601, например 2025-03-03T23:41:19Z. По умолчанию в зоне UTC.

SOURCECRAFT_COMMIT_MESSAGE

Сообщение коммита.

SOURCECRAFT_COMMIT_TITLE

Заголовок коммита. Первая строка сообщения.

SOURCECRAFT_COMMIT_DESCRIPTION

Описание коммита. Если заголовок менее 100 символов — сообщение без заголовка. Иначе — сообщение целиком.

SOURCECRAFT_ENV

Переменная, с помощью которой передаются переменные окружения от одного кубика к последующим в виде пар KEY=VALUE. Для записи в переменную используется оператор перенаправления ввода >>. Например:

cubes:
  - name: example
    script:
      - echo "VER=1.0.1" >> $SOURCECRAFT_ENV
      - echo "VAR1=SOME_VALUE" >> $SOURCECRAFT_ENV

Во всех кубиках, которые будут исполнены после кубика example, переданные значения будут находиться в переменных окружения VER и VAR1.

См. также

Предыдущая