Часто при работе с ci\cd в gitlab, нужны переменные со значениями самого gitlab. Переменные gitlab-ci очень упрощают работу с вашими пайплайнами и их структуру. Среди таких переменных могут быть имя пользователя добавившего коммит или номер сборки или иные сведения.
На всякий случай вот список переменных с описанием, которые я часто использую в своих ci :
CI | Указывает что работа выполняется в среде CI |
CI_COMMIT_REF_NAME | Название ветки или тега в котором выполняется сборка |
CI_COMMIT_REF_SLUG | Тоже что и CI_COMMIT_REF_NAME, но в нижнем регистре, размер уменьшен до 63 байт, использует только цифры и буквы |
CI_COMMIT_SHA | Хэш коммита |
CI_COMMIT_TAG | Имя тега |
CI_CONFIG_PATH | Путь к файлу конфигурации CI (по умолчанию .gitlab-ci.yml в корне проекта) |
CI_DEBUG_TRACE | Включает трассировку отладки |
CI_ENVIRONMENT_NAME | Определяет имя среды в задании |
CI_ENVIRONMENT_SLUG | Указывает имя среды удобное для использования DNS, URL и Kubernetes |
CI_ENVIRONMENT_URL | URL среды |
CI_JOB_ID | Порядковый ID текущего задания |
CI_JOB_MANUAL | Указывает что задание запущено в ручную |
CI_JOB_NAME | Имя задания (указанное .gtilab-ci.yml) |
CI_JOB_STAGE | Имя этапа задания (указанное .gtilab-ci.yml) |
CI_JOB_TOKEN | Токен задания (используется для аутентификации в многопроектных пайплайнах или для вызова триггеров) |
CI_REPOSITORY_URL | URL репозитория из которого запущено задание |
CI_RUNNER_DESCRIPTION | Описание gitlab-runner |
CI_RUNNER_ID | Идентификатор используемого gitlab-runner |
CI_RUNNER_TAGS | Тэги используемого gitlab-runner |
CI_RUNNER_VERSION | Версия используемого gitlab-runner |
CI_PIPELINE_ID | Уникальный идентификатор текущего пайплайна |
CI_PIPELINE_SOURCE | Указывает как был запущен пайплайн (пуш, веб, по триггеру, через планировщик и тд) |
CI_PIPELINE_TRIGGERED | Указывает что пайплайн был запущен с помощью триггера |
CI_PROJECT_ID | ID текущего проекта |
CI_PROJECT_NAME | Имя текущего проекта |
CI_PROJECT_PATH | Путь текущего проекта с полным названием имен. Грубо говоря всё что стоит в адресной строке справа от адреса вашего гитлаб (gitlab.com\project\path) |
CI_PROJECT_URL | http(s) адрес текущего проекта |
CI_REGISTRY | Адрес реестра контейнеров текущего проекта (если включен gitlab registry) |
GITLAB_USER_ID | ID пользователя запустившего задание |
GITLAB_USER_EMAIL | e-mail пользователя запустившего задание |
GITLAB_USER_LOGIN | Имя входа пользователя запустившего задание |
GITLAB_USER_NAME | Реальное имя пользователя запустившего задание |
Это не список всех возможных переменных, а лишь тех, что мне пригодились. Полный список можно увидеть в полезных материалах ниже.
Полезные материалы к статье:
- Установка Gitlab в Docker
- Установка и регистрация gitlab-runner в docker контейнере
- Настройка E-mail уведомлений Gitlab
- Запуск Ansible Playbooks с помощью Gitlab-CI
- Установка shell gitlab runner
- Обновление Gitlab развернутого в Docker
- Настройка работы Gitlab с registry без ssl
- Полный список переменных: https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
Отправить ответ