Согласно общему описанию использования ci-env переменных, для интеграции с системой CI/CD werf должен установить набор переменных WERF_* и выполнить некоторые действия.

Для получения данных, необходимых при интеграции с GitLab CI, werf использует переменные окружения CI-задания приведенные далее.

WERF_IMAGES_REPO

Значение для установки переменной окружения WERF_IMAGES_REPO формируется на основе переменной окружения GitLab CI_REGISTRY_IMAGE.

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.

Другие переменные

Значения остальных переменных окружения формируются стандартным способом, описанным в соответствующей статье:

Как использовать

Интеграция с GitLab CI включается указанием параметра gitlab в команде werf ci-env:

werf ci-env gitlab --tagging-strategy ...