Согласно общему описанию использования ci-env переменных, для интеграции с системой CI/CD werf должен установить набор переменных WERF_*
и выполнить некоторые действия.
Для получения данных, необходимых при интеграции с GitLab CI, werf использует переменные окружения CI-задания приведенные далее.
WERF_IMAGES_REPO
Значение для установки переменной окружения WERF_IMAGES_REPO
формируется на основе переменной окружения GitLab CI_REGISTRY_IMAGE
.
WERF_TAG_BY_STAGES_SIGNATURE
Значение переменной WERF_TAG_BY_STAGES_SIGNATURE
устанавливается в true
при использовании стратегии тегирования stages-signature
(эта стратегия тегирования используется по умолчанию).
WERF_TAG_GIT_TAG
Значение для установки переменной окружения WERF_TAG_GIT_TAG
формируется на основе переменной окружения GitLab CI_COMMIT_TAG
.
WERF_TAG_GIT_BRANCH
Значение для установки переменной окружения WERF_TAG_GIT_BRANCH
формируется на основе переменной окружения GitLab CI_COMMIT_REF_NAME
.
WERF_ADD_ANNOTATION_PROJECT_GIT
Значение для установки переменной окружения WERF_ADD_ANNOTATION_PROJECT_GIT
формируется на основе переменной окружения GitLab CI_PROJECT_URL
следующим образом:
project.werf.io/git=$CI_PROJECT_URL
WERF_ADD_ANNOTATION_CI_COMMIT
Значение для установки переменной окружения WERF_ADD_ANNOTATION_CI_COMMIT
формируется на основе переменной окружения GitLab CI_COMMIT_SHA
следующим образом:
ci.werf.io/commit=$CI_COMMIT_SHA
WERF_ADD_ANNOTATION_GITLAB_CI_PIPELINE_URL
Значение для установки переменной окружения WERF_ADD_ANNOTATION_GITLAB_CI_PIPELINE_URL
формируется на основе переменной окружения GitLab CI_PIPELINE_ID
следующим образом:
gitlab.ci.werf.io/pipeline-url=$CI_PROJECT_URL/pipelines/$CI_PIPELINE_ID
WERF_ADD_ANNOTATION_GITLAB_CI_JOB_URL
Значение для установки переменной окружения WERF_ADD_ANNOTATION_GITLAB_CI_JOB_URL
формируется на основе переменной окружения GitLab CI_JOB_ID
следующим образом:
gitlab.ci.werf.io/job-url=$CI_PROJECT_URL/-/jobs/$CI_JOB_ID
WERF_ENV
В GitLab реализована поддержка окружений. werf определяет название текущего окружения из CI-задания GitLab.
Значение для установки переменной окружения WERF_ENV
формируется на основе переменной окружения GitLab CI_ENVIRONMENT_SLUG
.
Другие переменные
Значения остальных переменных окружения формируются стандартным способом, описанным в соответствующей статье:
DOCKER_CONFIG
;WERF_GIT_TAG_STRATEGY_LIMIT
;WERF_GIT_TAG_STRATEGY_EXPIRY_DAYS
;WERF_LOG_COLOR_MODE
;WERF_LOG_PROJECT_DIR
;WERF_ENABLE_PROCESS_EXTERMINATOR
;WERF_LOG_TERMINAL_WIDTH
.
Как использовать
Интеграция с GitLab CI включается указанием параметра gitlab
в команде werf ci-env
:
werf ci-env gitlab