CI/CD 변수 사전 정의 참조
Offering: GitLab.com, 자체 호스팅, GitLab Dedicated
사전 정의된 CI/CD 변수는 모든 GitLab CI/CD 파이프라인에서 사용할 수 있습니다.
사전 정의된 변수는 파이프라인 실행의 두 가지 다른 단계에서 사용할 수 있습니다. 어떤 변수는 GitLab이 파이프라인을 생성할 때 사용할 수 있으며, 파이프라인을 구성하거나 작업 스크립트에서 사용할 수 있습니다. 다른 변수는 러너가 작업을 실행할 때 사용할 수 있으며, 작업 스크립트에서만 사용할 수 있습니다.
변수 | 정의 대상 | GitLab | 러너 | 설명 |
---|---|---|---|---|
CHAT_CHANNEL
| 파이프라인 | 10.6 | all | ChatOps 명령을 트리거한 소스 채팅 채널입니다. |
CHAT_INPUT
| 파이프라인 | 10.6 | all | ChatOps 명령과 함께 전달된 추가적인 인수입니다. |
CHAT_USER_ID
| 파이프라인 | 14.4 | all | ChatOps 명령을 트리거한 사용자의 채팅 서비스 사용자 ID입니다. |
CI
| 파이프라인 | 모든 | 0.4 | CI/CD에서 실행되는 모든 작업에서 사용할 수 있습니다. 사용 가능할 때 true 입니다.
|
CI_API_V4_URL
| 파이프라인 | 11.7 | all | GitLab API v4 루트 URL입니다. |
CI_API_GRAPHQL_URL
| 파이프라인 | 15.11 | all | GitLab API GraphQL 루트 URL입니다. |
… (중략)
KUBECONFIG
| 파이프라인 | 14.2 | all | 모든 공유 에이전트 연결에 대한 컨텍스트가 포함된 kubeconfig 파일의 경로입니다. GitLab 에이전트가 프로젝트에 액세스할 수 있는 경우에만 사용할 수 있습니다.
|
TRIGGER_PAYLOAD
| 파이프라인 | 13.9 | all | 웹훅 페이로드입니다. 파이프라인이 웹훅으로 트리거된 경우에만 사용할 수 있습니다. |
Merge Request 파이프라인을 위한 미리 정의된 변수
이러한 변수들은 다음 조건에서 사용할 수 있습니다:
- 파이프라인들이 Merge Request 파이프라인임.
- Merge Request가 열려 있음.
Variable | GitLab | Runner | 설명 |
---|---|---|---|
CI_MERGE_REQUEST_APPROVED
| 14.1 | all | Merge Request의 승인 상태입니다. Merge Request 승인이 가능하고 Merge Request가 승인된 경우 true 입니다.
|
CI_MERGE_REQUEST_ASSIGNEES
| 11.9 | all | Merge Request의 담당자들의 쉼표로 구분된 사용자 이름 디렉터리입니다. |
CI_MERGE_REQUEST_DIFF_BASE_SHA
| 13.7 | all | Merge Request 차이의 베이스 SHA입니다. |
CI_MERGE_REQUEST_DIFF_ID
| 13.7 | all | Merge Request 차이의 버전입니다. |
CI_MERGE_REQUEST_EVENT_TYPE
| 12.3 | all | Merge Request의 이벤트 유형입니다. detached , merged_result , 또는 merge_train 일 수 있습니다.
|
CI_MERGE_REQUEST_DESCRIPTION
| 16.7 | all | Merge Request의 설명입니다. 설명이 2700자를 초과하는 경우 변수에는 처음 2700자만 저장됩니다. |
CI_MERGE_REQUEST_DESCRIPTION_IS_TRUNCATED
| 16.8 | all |
CI_MERGE_REQUEST_DESCRIPTION 이 Merge Request의 설명이 너무 길어 2700자로 줄어든 경우 true 입니다.
|
CI_MERGE_REQUEST_ID
| 11.6 | all | Merge Request의 인스턴스 레벨 ID입니다. 이는 GitLab 인스턴스의 모든 프로젝트 전체에서 고유한 ID입니다. |
CI_MERGE_REQUEST_IID
| 11.6 | all | Merge Request의 프로젝트 레벨 IID(내부 ID)입니다. 이 ID는 현재 프로젝트에서 고유하며, Merge Request URL, 페이지 제목 및 기타 표시 위치에 사용됩니다. |
CI_MERGE_REQUEST_LABELS
| 11.9 | all | Merge Request의 라벨 이름을 쉼표로 구분한 디렉터리입니다. |
CI_MERGE_REQUEST_MILESTONE
| 11.9 | all | Merge Request의 마일스톤 제목입니다. |
CI_MERGE_REQUEST_PROJECT_ID
| 11.6 | all | Merge Request의 프로젝트 ID입니다. |
CI_MERGE_REQUEST_PROJECT_PATH
| 11.6 | all | Merge Request의 프로젝트 경로입니다. 예를 들면, namespace/awesome-project 입니다.
|
CI_MERGE_REQUEST_PROJECT_URL
| 11.6 | all | Merge Request의 프로젝트 URL입니다. 예를 들면, http://192.168.10.15:3000/namespace/awesome-project 입니다.
|
CI_MERGE_REQUEST_REF_PATH
| 11.6 | all | Merge Request의 참조 경로입니다. 예를 들면, refs/merge-requests/1/head 입니다.
|
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
| 11.6 | all | Merge Request의 소스 브랜치 이름입니다. |
CI_MERGE_REQUEST_SOURCE_BRANCH_PROTECTED
| 16.4 | all | Merge Request의 소스 브랜치가 보호되어 있는 경우 true 입니다.
|
CI_MERGE_REQUEST_SOURCE_BRANCH_SHA
| 11.9 | all | Merge Request의 소스 브랜치의 HEAD SHA입니다. 이 변수는 Merge Request 파이프라인에서는 비어 있습니다. SHA는 Merge된 결과 파이프라인에만 존재합니다. |
CI_MERGE_REQUEST_SOURCE_PROJECT_ID
| 11.6 | all | Merge Request의 소스 프로젝트 ID입니다. |
CI_MERGE_REQUEST_SOURCE_PROJECT_PATH
| 11.6 | all | Merge Request의 소스 프로젝트 경로입니다. |
CI_MERGE_REQUEST_SOURCE_PROJECT_URL
| 11.6 | all | Merge Request의 소스 프로젝트 URL입니다. |
CI_MERGE_REQUEST_SQUASH_ON_MERGE
| 16.4 | all |
Merge 시 스쿼시 옵션이 설정되어 있는 경우 true 입니다.
|
CI_MERGE_REQUEST_TARGET_BRANCH_NAME
| 11.6 | all | Merge Request의 대상 브랜치 이름입니다. |
CI_MERGE_REQUEST_TARGET_BRANCH_PROTECTED
| 15.2 | all | Merge Request의 대상 브랜치가 보호되어 있는 경우 true 입니다.
|
CI_MERGE_REQUEST_TARGET_BRANCH_SHA
| 11.9 | all | Merge Request의 대상 브랜치의 HEAD SHA입니다. 이 변수는 Merge Request 파이프라인에서는 비어 있습니다. SHA는 Merge된 결과 파이프라인에만 존재합니다. |
CI_MERGE_REQUEST_TITLE
| 11.9 | all | Merge Request의 제목입니다. |
외부 풀 리퀘스트 파이프라인을 위한 미리 정의된 변수
이러한 변수들은 다음 조건에서만 사용할 수 있습니다:
- 파이프라인이 외부 풀 리퀘스트 파이프라인임.
- 풀 리퀘스트가 열려 있음.
Variable | GitLab | Runner | 설명 |
---|---|---|---|
CI_EXTERNAL_PULL_REQUEST_IID
| 12.3 | all | GitHub에서의 풀 리퀘스트 ID입니다. |
CI_EXTERNAL_PULL_REQUEST_SOURCE_REPOSITORY
| 13.3 | all | 풀 리퀘스트의 소스 리포지터리 이름입니다. |
CI_EXTERNAL_PULL_REQUEST_TARGET_REPOSITORY
| 13.3 | all | 풀 리퀘스트의 대상 리포지터리 이름입니다. |
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_NAME
| 12.3 | all | 풀 리퀘스트의 소스 브랜치 이름입니다. |
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_SHA
| 12.3 | all | 풀 리퀘스트의 소스 브랜치의 HEAD SHA입니다. |
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_NAME
| 12.3 | all | 풀 리퀘스트의 대상 브랜치 이름입니다. |
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_SHA
| 12.3 | all | 풀 리퀘스트의 대상 브랜치의 HEAD SHA입니다. |
배포 변수
배포 구성을 담당하는 통합은 빌드 환경에서 설정되는 미리 정의된 변수를 정의할 수 있습니다. 이러한 변수는 배포 작업에 대해서만 정의됩니다.
예를 들어, Kubernetes 통합은 통합에서 사용할 수 있는 배포 변수를 정의합니다.
각 통합에 대한 문서에서 통합이 사용 가능한 배포 변수를 설명합니다.
문제 해결
script
명령어를 사용하여 작업에 사용 가능한 모든 변수의 값을 출력할 수 있습니다.