사전 정의된 CI/CD 변수 참조

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

모든 GitLab CI/CD 파이프라인에서 사전 정의된 CI/CD 변수를 사용할 수 있습니다.

사전 정의된 변수는 파이프라인 실행의 두 가지 다른 단계에서 사용할 수 있습니다. 일부 변수는 GitLab이 파이프라인을 생성할 때 사용할 수 있으며, 파이프라인을 구성하거나 작업 스크립트에서 사용할 수 있습니다. 다른 변수는 실행자(runner)가 작업을 실행할 때 사용할 수 있으며, 작업 스크립트에서만 사용할 수 있습니다.

추가 정보: 다른 작업에서의 사전 정의된 변수 덮어쓰기는 파이프라인이 예기치 않게 동작하게 할 수 있으므로 피해야 합니다.

변수 정의된 위치 GitLab Runner 설명
CHAT_CHANNEL 파이프라인 10.6 전체 ChatOps 명령을 트리거한 소스 채널입니다.
CHAT_INPUT 파이프라인 10.6 전체 ChatOps 명령과 함께 전달된 추가 인수입니다.
       

머지 요청 파이프라인을 위한 사전 정의된 변수

이러한 변수는 다음 경우에 사용할 수 있습니다.

변수명 GitLab Runner 설명
CI_MERGE_REQUEST_APPROVED 14.1 all 머지 요청의 승인 상태입니다. 머지 요청 승인이 가능하고 머지 요청이 승인된 경우 true입니다.
CI_MERGE_REQUEST_ASSIGNEES 11.9 all 머지 요청 담당자의 사용자 이름을 쉼표로 구분한 목록입니다.
CI_MERGE_REQUEST_DIFF_BASE_SHA 13.7 all 머지 요청 diff의 베이스 SHA입니다.
CI_MERGE_REQUEST_DIFF_ID 13.7 all 머지 요청 diff의 버전입니다.
CI_MERGE_REQUEST_EVENT_TYPE 12.3 all 머지 요청의 이벤트 유형입니다. detached, merged_result, 또는 merge_train일 수 있습니다.
CI_MERGE_REQUEST_DESCRIPTION 16.7 all 머지 요청의 설명입니다. 설명이 2700자를 초과하는 경우 변수에는 처음 2700자만 저장됩니다.
CI_MERGE_REQUEST_DESCRIPTION_IS_TRUNCATED 16.8 all 머지 요청의 설명이 너무 길어 2700자로 줄어든 경우 true입니다.
CI_MERGE_REQUEST_ID 11.6 all 머지 요청의 인스턴스 수준 ID입니다. 이는 GitLab 인스턴스의 모든 프로젝트에서 고유한 ID입니다.
CI_MERGE_REQUEST_IID 11.6 all 머지 요청의 프로젝트 수준 IID(내부 ID)입니다. 이 ID는 현재 프로젝트에 대해 고유하며 머지 요청 URL, 페이지 제목 및 다른 표시되는 위치에 사용됩니다.
CI_MERGE_REQUEST_LABELS 11.9 all 머지 요청의 라벨 이름을 쉼표로 구분한 목록입니다.
CI_MERGE_REQUEST_MILESTONE 11.9 all 머지 요청의 마일스톤 제목입니다.
CI_MERGE_REQUEST_PROJECT_ID 11.6 all 머지 요청의 프로젝트 ID입니다.
CI_MERGE_REQUEST_PROJECT_PATH 11.6 all 머지 요청의 프로젝트 경로입니다. 예: namespace/awesome-project.
CI_MERGE_REQUEST_PROJECT_URL 11.6 all 머지 요청의 프로젝트 URL입니다. 예: http://192.168.10.15:3000/namespace/awesome-project.
CI_MERGE_REQUEST_REF_PATH 11.6 all 머지 요청의 ref 경로입니다. 예: refs/merge-requests/1/head.
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME 11.6 all 머지 요청의 소스 브랜치 이름입니다.
CI_MERGE_REQUEST_SOURCE_BRANCH_PROTECTED 16.4 all 머지 요청의 소스 브랜치가 보호됨인 경우 true입니다.
CI_MERGE_REQUEST_SOURCE_BRANCH_SHA 11.9 all 머지 요청의 소스 브랜치의 HEAD SHA입니다. 변수는 머지 요청 파이프라인에서 비어 있습니다. SHA는 머지된 결과 파이프라인에서만 사용됩니다.
CI_MERGE_REQUEST_SOURCE_PROJECT_ID 11.6 all 머지 요청의 소스 프로젝트 ID입니다.
CI_MERGE_REQUEST_SOURCE_PROJECT_PATH 11.6 all 머지 요청의 소스 프로젝트 경로입니다.
CI_MERGE_REQUEST_SOURCE_PROJECT_URL 11.6 all 머지 요청의 소스 프로젝트 URL입니다.
CI_MERGE_REQUEST_SQUASH_ON_MERGE 16.4 all 머지 시 스쿼시 옵션이 설정된 경우 true입니다.
CI_MERGE_REQUEST_TARGET_BRANCH_NAME 11.6 all 머지 요청의 타겟 브랜치 이름입니다.
CI_MERGE_REQUEST_TARGET_BRANCH_PROTECTED 15.2 all 머지 요청의 타겟 브랜치가 보호됨인 경우 true입니다.
CI_MERGE_REQUEST_TARGET_BRANCH_SHA 11.9 all 머지 요청의 타겟 브랜치의 HEAD SHA입니다. 변수는 머지 요청 파이프라인에서 비어 있습니다. SHA는 머지된 결과 파이프라인에서만 사용됩니다.
CI_MERGE_REQUEST_TITLE 11.9 all 머지 요청의 제목입니다.

외부 풀 리퀘스트 파이프라인을 위한 미리 정의된 변수

이러한 변수들은 다음의 경우에만 사용할 수 있습니다.

변수 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 명령어를 사용하여 작업에 대해 사용 가능한 모든 변수의 값을 출력할 수 있습니다.