GitLab CI/CD 환경 변수(Variables)

사전 정의된 환경 변수 중 일부는 GitLab Runner의 최소 버전을 사용하는 경우에만 사용할 수 있습니다. 필요한 Runner 버전을 찾으려면 아래 표를 참조하십시오.

Variable

GitLab

Runner

설명

Variable

GitLab

Runner

설명

ARTIFACT_DOWNLOAD_ATTEMPTS

8.15

1.9

작업을 실행하는 아티팩트 다운로드 시도 횟수

CHAT_CHANNEL

10.6

all

ChatOps 명령을 트리거 한 소스 채팅 채널

CHAT_INPUT

10.6

all

ChatOps 명령에 전달 된 추가 인수

CI

all

0.4

CI 환경에서 작업이 실행되었음을 표시

CI_API_V4_URL

11.7

all

GitLab API v4 루트 URL

CI_BUILDS_DIR

all

11.10

빌드가 실행되는 최상위 디렉토리

CI_COMMIT_BEFORE_SHA

11.2

all

병합 요청 전에 브랜치에있는 이전의 최신 커밋

파이프라인과 연관된 병합 요청이있는 경우에만 내용 확인 가능

CI_COMMIT_DESCRIPTION

10.8

all

커밋에 대한 설명 : 제목이 100 자 미만이면 첫 행이 없는 메시지; 다른 경우에 전체 메시지.

CI_COMMIT_MESSAGE

10.8

all

전체 커밋 메시지

CI_COMMIT_REF_NAME

9.0

all

프로젝트가 빌드 되는 브랜치 또는 태그 이름

CI_COMMIT_REF_PROTECTED

11.11

all

true : job이 protected reference에서 실행, 그렇지 않을 경우 false 

CI_COMMIT_REF_SLUG

9.0

all

$CI_COMMIT_REF_NAME 소문자, 63 bytes로 단축,  0-9 와 a-z 를 제외한 모든 항목은  - 로 대체됨. 앞의 /와 마지막 -은 금지. URLs, 호스트이름과 domain 이름에 사용됨.

CI_COMMIT_SHA

9.0

all

프로젝트가 빌드 된 커밋 리비전

CI_COMMIT_SHORT_SHA

11.7

all

 CI_COMMIT_SHA의 처음 8자

CI_COMMIT_BRANCH

12.6

0.5

커밋 브랜치 이름. 브랜치를 빌드 할 때 나타남.

CI_COMMIT_TAG

9.0

0.5

커밋 태크 이름. 태그를 빌드 할 때 나타남.

CI_COMMIT_TITLE

10.8

all

커밋의 타이틀-메시지의 전체 첫 줄

CI_CONCURRENT_ID

all

11.10

단일 executor 내에서 빌드 실행의 고유 ID

CI_CONCURRENT_PROJECT_ID

all

11.10

단일 executor와 프로젝트 내에서 빌드 실행의 고유 ID

CI_CONFIG_PATH

9.4

0.5

CI 구성 파일의 경로. 기본은 .gitlab-ci.yml

CI_DEBUG_TRACE

all

1.7

debug logging (tracing) 의 활성 여부

CI_DEFAULT_BRANCH

12.4

all

프로젝트의 기본 브랜치 이름

CI_DEPLOY_PASSWORD

10.8

all

GitLab Deploy Token의 인증 비밀번호 는 프로젝트에 관련이있는 경우에만 존재

CI_DEPLOY_USER

10.8

all

GitLab Deploy Token의 인증 사용자 이름은 프로젝트에 관련이 있는 경우에만 존재

CI_DISPOSABLE_ENVIRONMENT

all

10.1

Job이 일회용 환경에서 실행됨을 표시함(이 Job에 대해서만 생성되고 실행 후 처분/처리 되는 항목 - shellssh를 제외한 모든 실행자) 환경이 일회용이면 true로 설정되고, 그렇지 않으면 정의되지 않음

CI_ENVIRONMENT_NAME

8.15

all

Job의 환경 이름으로 설정된 경우에만 있음 예) environment:name 

CI_ENVIRONMENT_SLUG

8.15

all

환경 이름의 단순화된 버전, DNS, URL, Cubernetes 레이블에 포함하기에 적합하고 설정된 경우에만 있음 예) environment:name 

CI_ENVIRONMENT_URL

9.3

all

Job에 대한 환경의 URL로 설정된 경우에만 존재

CI_EXTERNAL_PULL_REQUEST_ID

12.3

all

파이프라인이 외부 Pull Request용인 경우 GitHub에서 Pull Request ID를 가져옴
[external_pull_requests] 또는rules 구문을 사용하고 Pull Request이 열려 있는 경우에만 사용할 수 있음

CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_NAME

12.3

all

파이프라인이 외부 Pull Request용인 경우 외부 Pull Request의 원본 브랜치의 이름
[external_pull_requests] 또는rules 구문을 사용하고 Pull Request이 열려 있는 경우에만 사용할 수 있음

CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_SHA

12.3

all

파이프라인이 외부 Pull Request용인 경우 외부 Pull Request의 원본 브랜치의 Head SHA
[external_pull_requests] 또는rules 구문을 사용하고 Pull Request이 열려 있는 경우에만 사용할 수 있음

CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_NAME

12.3

all

파이프라인이 외부 Pull Request용인 경우 외부 Pull Request의 대상 브랜치의 이름
[external_pull_requests] 또는rules 구문을 사용하고 Pull Request이 열려 있는 경우에만 사용할 수 있음

CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_SHA

12.3

all

파이프라인이 외부 Pull Request용인 경우 외부 Pull Request의 대상 브랜치의 Head SHA.
[external_pull_requests] 또는rules 구문을 사용하고 Pull Request이 열려 있는 경우에만 사용할 수 있음

CI_JOB_ID

9.0

all

GitLab CI/CD가 내부적으로 사용하는 현재 Job의 고유 ID

CI_JOB_IMAGE

12.9

12.9

CI Job을 실행하는 이미지 이름

CI_JOB_MANUAL

8.12

all

Job이 수동으로 시작되었음을 나타내는 플래그

CI_JOB_NAME

9.0

0.5

.gitlab-ci.yml에 정의된 Job 이름

CI_JOB_STAGE

9.0

0.5

.gitlab-ci.yml에 정의된 스테이지 이름

CI_JOB_TOKEN

9.0

1.2

GitLab 컨테이너 레지스트리로 인증하고 종속 리포지토리를 다운로드하는데 사용되는 토큰

CI_JOB_JWT

12.10

all

JWT 인증을 지원하는 타사 시스템으로 인증하는데 사용할 수 있는 RS256 JSON 웹 토큰
예) HashiCorp의 Vault

CI_JOB_URL

11.1

0.5

Job 상세 URL

CI_KUBERNETES_ACTIVE

13.0

all

파이프라인에 배포에 사용할 수 있는 Kubernetes 클러스터가 있는 경우에만 true 값으로 포함되고 사용 가능한 클러스터가 없는 경우 포함되지 않음
규칙이 있는 kubernetes/exception:kubernetes 의 대안으로만 사용할 수 있음

CI_MERGE_REQUEST_ASSIGNEES

11.9

all

파이프라인이 Merge request용인 경우 Merge request에 대한 할당자의 사용자 이름 목록을 쉼표로 구분함
[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성된 경우에만 사용 가능

CI_MERGE_REQUEST_CHANGED_PAGE_PATHS

12.9

all

Merge request에 대해 배포된 검토 앱에서 변경된 페이지의 경로 목록을 쉼표로 구분함
경로 맵을 구성해야 함

CI_MERGE_REQUEST_CHANGED_PAGE_URLS

12.9

all

Merge request에 대해 배포된 검토 앱에서 변경된 페이지의 목록을 쉼표로 구분함
경로 맵을 구성해야 함

CI_MERGE_REQUEST_ID

11.6

all

파이프라인이 Merge request용인 경우 Merge request의 ID
[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성된 경우에만 사용 가능

CI_MERGE_REQUEST_LABELS

11.9

all

파이프라인이 Merge request용인 경우 Merge request의 쉼표로 구분된 레이블 이름
[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성된 경우에만 사용 가능

CI_MERGE_REQUEST_MILESTONE

11.9

all

파이프라인이 Merge request용인 경우 Merge request의 milestone 제목
[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성된 경우에만 사용 가능

CI_MERGE_REQUEST_PROJECT_ID

11.6

all

파이프라인이 Merge request용인 경우 Merge request의 프로젝트 ID
[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성된 경우에만 사용 가능

CI_MERGE_REQUEST_PROJECT_PATH

11.6

all

파이프라인이 Merge request용인 경우 Merge request의 프로젝트 경로
예) namespace/awesome-project
[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성된 경우에만 사용 가능

CI_MERGE_REQUEST_PROJECT_URL

11.6

all

파이프라인이 Merge request용인 경우 Merge request의 프로젝트 URL
예) http://192.168.15:3000/namespace/awesome-project)
[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성된 경우에만 사용 가능

CI_MERGE_REQUEST_REF_PATH

11.6

all

파이프라인이 Merge request용인 경우 Merge request의 참조 경로
예) refs/message-continu/1/head
[merge_requests] 또는 rules 구문을 사용하고 병합 요청이 생성된 경우에만 사용 가능

CI_MERGE_REQUEST_SOURCE_BRANCH_NAME

11.6

all

파이프라인이 Merge request용인 경우 Merge request의 원본 브랜치 이름
[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성되며 파이프라인이 병합된 결과 파이프라인인 경우에만 사용 가능

CI_MERGE_REQUEST_SOURCE_BRANCH_SHA

11.9

all

파이프라인이 Merge request용인 경우 Merge request의 원본 브랜치 HEAD SHA
[merge_requests]또는 rules구문을 사용하고 병합 요청이 생성되며 파이프라인이 병합된 결과 파이프라인인 경우에만 사용 가능

CI_MERGE_REQUEST_SOURCE_PROJECT_ID

11.6

all

파이프라인이 Merge request용인 경우 Merge request 원본 프로젝트의 ID[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성되며 파이프라인이 병합된 결과 파이프라인인 경우에만 사용 가능

CI_MERGE_REQUEST_SOURCE_PROJECT_PATH

11.6

all

파이프라인이 Merge request용인 경우 Merge request 원본 프로젝트의 경로[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성되며 파이프라인이 병합된 결과 파이프라인인 경우에만 사용 가능.

CI_MERGE_REQUEST_SOURCE_PROJECT_URL

11.6

all

파이프라인이 Merge request용인 경우 Merge request 원본 프로젝트의 URL[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성되며 파이프라인이 병합된 결과 파이프라인인 경우에만 사용 가능

CI_MERGE_REQUEST_TARGET_BRANCH_NAME

11.6

all

파이프라인이 Merge request용인 경우 Merge request 타겟 브랜치의 이름[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성되며 파이프라인이 병합된 결과 파이프라인인 경우에만 사용 가능

CI_MERGE_REQUEST_TARGET_BRANCH_SHA

11.9

all

파이프라인이 Merge request용인 경우 Merge request 타겟 브랜치 HEAD SHA[merge_requests] 또는 rules구문을 사용하고 병합 요청이 생성되며 파이프라인이 병합된 결과 파이프라인인 경우에만 사용 가능

CI_MERGE_REQUEST_TITLE

11.9

all

파이프라인이 Merge request용인 경우 Merge request의 제목, [merge_requests] 또는 rules 구문을 사용하고 병합 요청이 생성된 경우에만 사용 가능

CI_MERGE_REQUEST_EVENT_TYPE

12.3

all

파이프라인이 Merge request용인 경우 이벤트 타입을 merged_result, merge_train로 분리함

CI_NODE_INDEX

11.5

all

Job set의 Job index Job이 병렬화되지 않으면 이 변수는 설정되지 않음

CI_NODE_TOTAL

11.5

all

병렬로 실행 중인 Job의 총 인스턴스 수
작업이 병렬화되지 않은 경우 이 변수는 1로 설정됨

CI_PAGES_DOMAIN

11.8

all

GitLab 페이지를 호스트하는 구성된 도메인.

CI_PAGES_URL

11.8

all

GitLab Pages-Built Pages의 URL, 항상 CI_PIES_DOMAIN의 하위 도메인에 속함

CI_PIPELINE_ID

8.10

all

GitLab CI/CD가 내부적으로 사용하는 현재 파이프라인의 고유 ID

CI_PIPELINE_IID

11.0

all

프로젝트로 범위가 지정된 현재 파이프라인의 고유 ID

CI_PIPELINE_SOURCE

10.0

all

파이프라인이 트리거된 방식을 표시하고 가능한 옵션은 push, web, trigger, schedule, api, pipeline, parent_pipeline, external, chat, merge_request_event, and external_pull_request_event
GitLab 9.5 이전에 생성된 파이프라인의 경우 unknown으로 표시됨

CI_PIPELINE_TRIGGERED

all

all

Job의 트리거를 나타내는 플래그

CI_PIPELINE_URL

11.1

0.5

Pipeline의 상세 URL

CI_PROJECT_DIR

all

all

Repository가 복제되고 작업이 실행되는 전체 경로이며 GitLab Runner builds_dir 매개변수가 설정되면, 이 변수는 builds_dir의 값에 비례하여 설정됨
자세한 내용은 GitLab Runner의 고급 구성을 참조

CI_PROJECT_ID

all

all

GitLab CI/CD가 내부적으로 사용하는 현재 프로젝트의 고유 ID

CI_PROJECT_NAME

8.10

0.5

현재 빌드 중인 프로젝트의 디렉터리 이름.
예) 프로젝트 URL이 gitlab.example.com/group-name/project-1 인 경우 CI_PROJECT_NAME은 project-1

CI_PROJECT_NAMESPACE

8.10

0.5

현재 빌드 중인 프로젝트 네임 스페이스(사용자 이름 또는 그룹 이름)

CI_PROJECT_PATH

8.10

0.5

프로젝트 이름을 가진 네임 스페이스

CI_PROJECT_PATH_SLUG

9.3

all

URL 및 도메인 이름으로 사용
$CI_PROJECT_PATH는 소문자, 0-9과 a-z를 제외한 모든 것은 -로 대체됨

CI_PROJECT_REPOSITORY_LANGUAGES

12.3

all

Repository에서 사용되는 언어를 쉼표로 구분한 하위 분류 목록
예) ruby, javascript, html, css

CI_PROJECT_TITLE

12.4

all

GitLab 웹 인터페이스에 표시된 대로 사람이 읽을 수 있는 프로젝트 이름.

CI_PROJECT_URL

8.10

0.5

프로젝트에 액세스할 HTTP(S) 주소

CI_PROJECT_VISIBILITY

10.3

all

프로젝트 가시성 (internal, private, public)

CI_REGISTRY

8.10

0.5

Container Registry가 활성화된 경우 GitLab의 Container Registry 주소를 반환

CI_REGISTRY_IMAGE

8.10

0.5

컨테이너 레지스트리가 프로젝트에 대해 활성화된 경우 특정 프로젝트에 연결된 레지스트리의 주소를 반환, : 포트값이 레지스트리 구성에 지정된 경우 포함

CI_REGISTRY_PASSWORD

9.0

all

GitLab 컨테이너 레지스트리에 컨테이너를 푸시하는데 사용할 비밀번호

CI_REGISTRY_USER

9.0

all

GitLab 컨테이너 레지스트리에 컨테이너를 푸시하는데 사용할 사용자 이름

CI_REPOSITORY_URL

9.0

all

Git 저장소를 복제할 URL

CI_RUNNER_DESCRIPTION

8.10

0.5

GitLab에서 저장한 Runner 대한 설명

CI_RUNNER_EXECUTABLE_ARCH

all

10.6

GitLab Runner 실행 파일의 OS 및 아키텍처
※ 반드시 실행자의 환경과 같을 수 없다는 점에 주의

CI_RUNNER_ID

8.10

0.5

사용중인 GitLab Runner의 고유 ID

CI_RUNNER_REVISION

all

10.6

현재 job을 실행하는 GitLab Runner 개정판

CI_RUNNER_SHORT_TOKEN

all

12.3

새로운 Job request에 사용되는 Runner 토큰의 첫 번째 8글자, GitLab Runner 고유 ID

CI_RUNNER_TAGS

8.10

0.5

정의된 GitLab Runner의 tags

CI_RUNNER_VERSION

all

10.6

현재 Job을 실행하는 GitLab Runner 버전

CI_SERVER

all

all

작업이 CI 환경에서 실행됨으로 표시

CI_SERVER_URL

12.7

all

프로토콜 및 포트를 포함한 GitLab 인스턴스의 기본
예) https://gitlab.example.com:8080

CI_SERVER_HOST

12.1

all

프로토콜 및 포트가 없는 GitLab 인스턴스 URL의 호스트 구성 요소
예) gitlab.example.com

CI_SERVER_PORT

12.8

all

호스트 및 프로토콜(3000)이 없는 GitLab 인스턴스 URL의 포트 구성 요소

CI_SERVER_PROTOCOL

12.8

all

호스트 및 포트(https)가 없는 GitLab 인스턴스 URL의 프로토콜 구성 요소

CI_SERVER_NAME

all

all

Job 조정에 사용되는 CI 서버의 이름

CI_SERVER_REVISION

all

all

schedule jobs에 사용되는 GitLab 개정판

CI_SERVER_VERSION

all

all

schedule jobs에 사용되는 GitLab 버전

CI_SERVER_VERSION_MAJOR

11.4

all

GitLab 버전 메이져 구성 요소

CI_SERVER_VERSION_MINOR

11.4

all

GitLab 버전 마이너 구성 요소

CI_SERVER_VERSION_PATCH

11.4

all

GitLab 버전 패치 구성 요소

CI_SHARED_ENVIRONMENT

all

10.1

Job이 공유환경(shell이나 ssh executor 등 CI 호출 후에도 지속되는 것)에서 실행되는 것을 표시하고 환경이 공유되어 있으면 true그렇지 않으면 정의되지 않음

GET_SOURCES_ATTEMPTS

8.15

1.9

Job을 실행하는 소스를 가져오려고 시도하는 횟수

GITLAB_CI

all

all

GitLab CI/CD 환경에서 job이 실행됨을 표시

GITLAB_FEATURES

10.6

all

라이센스가 부여된 기능을 쉼표로 구분한 목록
예) 인스턴스, 계획

GITLAB_USER_EMAIL

8.12

all

Job을 시작한 사용자의 Email

GITLAB_USER_ID

8.12

all

Job을 시작한 사용자의 ID

GITLAB_USER_LOGIN

10.0

all

Job을 시작한 사용자의 로그인 사용자 이름

GITLAB_USER_NAME

10.0

all

Job을 시작한 사용자 이름

RESTORE_CACHE_ATTEMPTS

8.15

1.9

Job을 실행할때 캐시의 복원을 시도하는 횟수