사전 정의 CI/CD 변수 참조
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
사전 정의 CI/CD 변수는 모든 GitLab CI/CD 파이프라인에서 사용할 수 있습니다. 사전 정의 변수를 재정의하면 파이프라인이 예기치 않게 동작할 수 있으므로 피하세요. 사전 정의 변수는 파이프라인 실행의 세 가지 다른 단계에서 사용 가능해집니다:
사전 정의 CI/CD 변수는 모든 GitLab CI/CD 파이프라인에서 사용할 수 있습니다.
사전 정의 변수를 재정의하면 파이프라인이 예기치 않게 동작할 수 있으므로 피하세요.
변수 가용성#
사전 정의 변수는 파이프라인 실행의 세 가지 다른 단계에서 사용 가능해집니다:
- 파이프라인 전(Pre-pipeline): 파이프라인 전 변수는 파이프라인이 생성되기 전에 사용 가능합니다. 이러한 변수는 파이프라인을 생성할 때 사용할 구성 파일을 제어하기 위해
include:rules와 함께 사용할 수 있는 유일한 변수입니다. - 파이프라인(Pipeline): 파이프라인 변수는 GitLab이 파이프라인을 생성할 때 사용 가능해집니다. 파이프라인 전 변수와 함께, 파이프라인 변수는 job에 정의된
rules를 구성하여 파이프라인에 추가할 job을 결정하는 데 사용할 수 있습니다. - Job 전용(Job-only): 이 변수는 러너가 job을 선택하고 실행할 때만 각 job에서 사용 가능하며:
사전 정의 변수#
| 변수 | 가용성 | 설명 |
|---|---|---|
CHAT_CHANNEL |
Pipeline | ChatOps 명령어를 트리거한 소스 채팅 채널입니다. |
CHAT_INPUT |
Pipeline | ChatOps 명령어와 함께 전달된 추가 인수입니다. |
CHAT_USER_ID |
Pipeline | ChatOps 명령어를 트리거한 사용자의 채팅 서비스 사용자 ID입니다. |
CI |
Pre-pipeline | CI/CD에서 실행되는 모든 job에서 사용 가능합니다. 사용 가능할 때 true입니다. |
CI_API_V4_URL |
Pre-pipeline | GitLab API v4 루트 URL입니다. |
CI_API_GRAPHQL_URL |
Pre-pipeline | GitLab API GraphQL 루트 URL입니다. GitLab 15.11에서 도입되었습니다. |
CI_BUILDS_DIR |
Job-only | 빌드가 실행되는 최상위 디렉토리입니다. |
CI_BUILD_NETWORK_NAME |
Job-only | job이 생성한 네트워크 이름입니다. FF_NETWORK_PER_BUILD가 활성화된 경우 Docker 실행기에서만 사용 가능합니다. |
CI_COMMIT_AUTHOR |
Pre-pipeline | 이름 <이메일> 형식의 커밋 작성자입니다. |
CI_COMMIT_BEFORE_SHA |
Pre-pipeline | 브랜치 또는 태그에 존재하는 이전 최신 커밋입니다. 머지 리퀘스트 파이프라인, 스케줄된 파이프라인, 브랜치 또는 태그의 첫 번째 커밋의 파이프라인, 또는 파이프라인을 수동으로 실행할 때 항상 0000000000000000000000000000000000000000입니다. |
CI_COMMIT_BRANCH |
Pre-pipeline | 커밋 브랜치 이름입니다. 기본 브랜치의 파이프라인을 포함한 브랜치 파이프라인에서 사용 가능합니다. 머지 리퀘스트 파이프라인이나 태그 파이프라인에서는 사용 불가합니다. |
CI_COMMIT_DESCRIPTION |
Pre-pipeline | 커밋의 설명입니다. 제목이 100자 미만인 경우 첫 번째 줄을 제외한 메시지입니다. |
CI_COMMIT_MESSAGE |
Pre-pipeline | 전체 커밋 메시지입니다. |
CI_COMMIT_MESSAGE_IS_TRUNCATED |
Pre-pipeline | 커밋 메시지가 너무 길어 GITLAB_CI_MAX_COMMIT_MESSAGE_SIZE_IN_BYTES 시스템 환경 변수에 지정된 크기(기본값 100 KB)로 CI_COMMIT_MESSAGE가 잘린 경우 true입니다. 그렇지 않으면 false입니다. GitLab 18.6에서 도입되었습니다. |
CI_COMMIT_REF_NAME |
Pre-pipeline | 프로젝트가 빌드되는 브랜치 또는 태그 이름입니다. |
CI_COMMIT_REF_PROTECTED |
Pre-pipeline | 보호된 참조에 대해 job이 실행 중인 경우 true, 그렇지 않으면 false입니다. |
CI_COMMIT_REF_SLUG |
Pre-pipeline | 소문자로 된 CI_COMMIT_REF_NAME으로, 63바이트로 단축되고 0-9와 a-z를 제외한 모든 것이 -로 교체됩니다. 앞뒤에 -가 없습니다. URL, 호스트 이름 및 도메인 이름에 사용합니다. |
CI_COMMIT_SHA |
Pre-pipeline | 프로젝트가 빌드되는 커밋 리비전입니다. |
CI_COMMIT_SHORT_SHA |
Pre-pipeline | CI_COMMIT_SHA의 처음 8자입니다. |
CI_COMMIT_TAG |
Pre-pipeline | 커밋 태그 이름입니다. 태그용 파이프라인에서만 사용 가능합니다. |
CI_COMMIT_TAG_MESSAGE |
Pre-pipeline | 커밋 태그 메시지입니다. 태그용 파이프라인에서만 사용 가능합니다. GitLab 15.5에서 도입되었습니다. |
CI_COMMIT_TIMESTAMP |
Pre-pipeline | ISO 8601 형식의 커밋 타임스탬프입니다. 예: 2022-01-31T16:47:55Z. 기본적으로 UTC입니다. |
CI_COMMIT_TITLE |
Pre-pipeline | 커밋의 제목입니다. 메시지의 첫 번째 전체 줄입니다. |
CI_COMMIT_USER_LOGIN |
Pre-pipeline | 작성자의 프로필 및 이메일이 공개되어 있고 커밋 이메일과 일치하는 경우 커밋 작성자의 GitLab 사용자 이름, 그렇지 않으면 빈 문자열입니다. GitLab 18.10에서 도입되었습니다. |
CI_CONCURRENT_ID |
Job-only | 단일 실행기에서 빌드 실행의 고유 ID입니다. |
CI_CONCURRENT_PROJECT_ID |
Job-only | 단일 실행기 및 프로젝트에서 빌드 실행의 고유 ID입니다. |
CI_CONFIG_PATH |
Pre-pipeline | CI/CD 구성 파일의 경로입니다. 기본값은 .gitlab-ci.yml입니다. |
CI_CONFIG_REF_URI |
Pipeline | 최상위 파이프라인 정의에 대한 완전히 정규화된 ref 경로입니다. 예: gitlab.example.com/my-group/my-project//.gitlab-ci.yml@refs/heads/main. 파이프라인 소스 ref를 확인할 수 없는 경우 사용 불가합니다. GitLab 19.0에서 도입되었습니다. |
CI_DEBUG_TRACE |
Pipeline | 디버그 로깅(추적)이 활성화된 경우 true입니다. |
CI_DEBUG_SERVICES |
Pipeline | 서비스 컨테이너 로깅이 활성화된 경우 true입니다. GitLab 15.7에서 도입되었습니다. GitLab Runner 15.7이 필요합니다. |
CI_DEFAULT_BRANCH |
Pre-pipeline | 프로젝트의 기본 브랜치 이름입니다. |
CI_DEFAULT_BRANCH_SLUG |
Pre-pipeline | 소문자로 된 CI_DEFAULT_BRANCH로, 63바이트로 단축되고 0-9와 a-z를 제외한 모든 것이 -로 교체됩니다. 앞뒤에 -가 없습니다. URL, 호스트 이름 및 도메인 이름에 사용합니다. |
CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX |
Pre-pipeline | Dependency Proxy를 통해 이미지를 가져오기 위한 직접 그룹 이미지 접두사입니다. |
CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX |
Pre-pipeline | Dependency Proxy를 통해 이미지를 가져오기 위한 최상위 그룹 이미지 접두사입니다. |
CI_DEPENDENCY_PROXY_PASSWORD |
Pipeline | Dependency Proxy를 통해 이미지를 가져오기 위한 비밀번호입니다. |
CI_DEPENDENCY_PROXY_SERVER |
Pre-pipeline | Dependency Proxy에 로그인하기 위한 서버입니다. 이 변수는 $CI_SERVER_HOST:$CI_SERVER_PORT와 동일합니다. |
CI_DEPENDENCY_PROXY_USER |
Pipeline | Dependency Proxy를 통해 이미지를 가져오기 위한 사용자 이름입니다. |
CI_DEPLOY_FREEZE |
Pre-pipeline | 배포 동결 창 중에 파이프라인이 실행되는 경우에만 사용 가능합니다. 사용 가능할 때 true입니다. |
CI_DEPLOY_PASSWORD |
Job-only | 프로젝트에 GitLab 배포 토큰이 있는 경우 인증 비밀번호입니다. |
CI_DEPLOY_USER |
Job-only | 프로젝트에 GitLab 배포 토큰이 있는 경우 인증 사용자 이름입니다. |
CI_DISPOSABLE_ENVIRONMENT |
Pipeline | job이 일회용 환경에서 실행되는 경우에만 사용 가능합니다(shell과 ssh를 제외한 모든 실행기). 사용 가능할 때 true입니다. |
CI_ENVIRONMENT_ID |
Pipeline | 이 job의 환경 ID입니다. environment:name이 설정된 경우 사용 가능합니다. |
CI_ENVIRONMENT_NAME |
Pipeline | 이 job의 환경 이름입니다. environment:name이 설정된 경우 사용 가능합니다. |
CI_ENVIRONMENT_SLUG |
Pipeline | DNS, URL, Kubernetes 레이블 등에 포함하기 적합한 단순화된 환경 이름 버전입니다. environment:name이 설정된 경우 사용 가능합니다. slug는 24자로 잘립니다. 랜덤 접미사가 대문자 환경 이름에 자동으로 추가됩니다. |
CI_ENVIRONMENT_URL |
Pipeline | 이 job의 환경 URL입니다. environment:url이 설정된 경우 사용 가능합니다. |
CI_ENVIRONMENT_ACTION |
Pipeline | 이 job의 환경에 지정된 액션 어노테이션입니다. environment:action이 설정된 경우 사용 가능합니다. start, prepare 또는 stop일 수 있습니다. |
CI_ENVIRONMENT_TIER |
Pipeline | 이 job의 환경 배포 티어입니다. |
CI_GITLAB_FIPS_MODE |
Pre-pipeline | GitLab 인스턴스에서 FIPS 모드가 활성화된 경우에만 사용 가능합니다. 사용 가능할 때 true입니다. |
CI_HAS_OPEN_REQUIREMENTS |
Pipeline | 파이프라인의 프로젝트에 미결 요구 사항이 있는 경우에만 사용 가능합니다. 사용 가능할 때 true입니다. |
CI_JOB_GROUP_NAME |
Pipeline | parallel 또는 수동으로 그룹화된 job을 사용할 때 job 그룹의 공유 이름입니다. 예를 들어, job 이름이 rspec:test: [ruby, ubuntu]인 경우 CI_JOB_GROUP_NAME은 rspec:test입니다. 그렇지 않으면 CI_JOB_NAME과 동일합니다. GitLab 17.10에서 도입되었습니다. |
CI_JOB_ID |
Job-only | 내부 job ID로, GitLab 인스턴스의 모든 job에서 고유합니다. |
CI_JOB_IMAGE |
Job-only | job을 실행하는 Docker 이미지 이름입니다. job이 Docker 이미지를 명시적으로 지정한 경우에만 사용 가능합니다. |
CI_JOB_MANUAL |
Pipeline | job이 수동으로 시작된 경우에만 사용 가능합니다. 사용 가능할 때 true입니다. |
CI_JOB_NAME |
Pipeline | job의 이름입니다. |
CI_JOB_NAME_SLUG |
Pipeline | 소문자로 된 CI_JOB_NAME으로, 63바이트로 단축되고 0-9와 a-z를 제외한 모든 것이 -로 교체됩니다. 앞뒤에 -가 없습니다. 경로에 사용합니다. GitLab 15.4에서 도입되었습니다. |
CI_JOB_STAGE |
Pipeline | job의 Stage 이름입니다. |
CI_JOB_STATUS |
Job-only | 각 러너 Stage가 실행될 때 job의 상태입니다. after_script와 함께 사용합니다. success, failed 또는 canceled일 수 있습니다. |
CI_JOB_TIMEOUT |
Job-only | 초 단위의 job 타임아웃입니다. GitLab 15.7에서 도입되었습니다. GitLab Runner 15.7이 필요합니다. |
CI_JOB_TOKEN |
Job-only | 특정 API 엔드포인트를 인증하기 위한 토큰입니다. 토큰은 job이 실행되는 동안 유효합니다. |
CI_JOB_URL |
Job-only | job 세부 정보 URL입니다. |
CI_JOB_STARTED_AT |
Job-only | ISO 8601 형식의 job 시작 날짜 및 시간입니다. 예: 2022-01-31T16:47:55Z. 기본적으로 UTC입니다. |
CI_JOB_STARTED_AT_SLUG |
Job-only | 소문자로 된 CI_JOB_STARTED_AT으로, 63바이트로 단축되고 0-9와 a-z를 제외한 모든 것이 -로 교체됩니다. 앞뒤에 -가 없습니다. Docker 이미지 태그 및 기타 식별자에 사용하기 적합합니다. GitLab 18.7에서 도입되었습니다. |
CI_KUBERNETES_ACTIVE |
Pre-pipeline | 파이프라인이 배포를 위해 Kubernetes 클러스터를 사용할 수 있는 경우에만 사용 가능합니다. 사용 가능할 때 true입니다. |
CI_NODE_INDEX |
Pipeline | job 세트에서 job의 인덱스입니다. job이 parallel을 사용하는 경우에만 사용 가능합니다. |
CI_NODE_TOTAL |
Pipeline | 병렬로 실행 중인 이 job의 총 인스턴스 수입니다. job이 parallel을 사용하지 않는 경우 1로 설정됩니다. |
CI_OPEN_MERGE_REQUESTS |
Pre-pipeline | 현재 브랜치 및 프로젝트를 머지 리퀘스트 소스로 사용하는 최대 4개의 머지 리퀘스트 쉼표로 구분된 목록입니다. 브랜치에 연결된 머지 리퀘스트가 있는 경우 브랜치 및 머지 리퀘스트 파이프라인에서만 사용 가능합니다. 예: gitlab-org/gitlab!333,gitlab-org/gitlab-foss!11. |
CI_PAGES_DOMAIN |
Pre-pipeline | GitLab Pages를 호스팅하는 인스턴스의 도메인으로, 네임스페이스 서브도메인을 포함하지 않습니다. 전체 호스트 이름을 사용하려면 CI_PAGES_HOSTNAME을 사용하세요. |
CI_PAGES_HOSTNAME |
Job-only | Pages 배포의 전체 호스트 이름입니다. |
CI_PAGES_URL |
Job-only | GitLab Pages 사이트의 URL입니다. 항상 CI_PAGES_DOMAIN의 서브도메인입니다. GitLab 17.9 이상에서는 path_prefix가 지정된 경우 값에 포함됩니다. |
CI_PIPELINE_ID |
Job-only | 현재 파이프라인의 인스턴스 수준 ID입니다. 이 ID는 GitLab 인스턴스의 모든 프로젝트에서 고유합니다. |
CI_PIPELINE_IID |
Pipeline | 현재 파이프라인의 프로젝트 수준 IID(내부 ID)입니다. 이 ID는 현재 프로젝트에서만 고유합니다. |
CI_PIPELINE_SOURCE |
Pre-pipeline | 파이프라인이 트리거된 방법입니다. 값은 파이프라인 소스 중 하나일 수 있습니다. |
CI_PIPELINE_TRIGGERED |
Pipeline | 트리거 토큰으로 트리거된 파이프라인의 경우 true입니다. trigger 키워드로 트리거된 파이프라인의 경우 대신 CI_PIPELINE_SOURCE를 사용하세요. |
CI_PIPELINE_URL |
Job-only | 파이프라인 세부 정보의 URL입니다. |
CI_PIPELINE_CREATED_AT |
Job-only | ISO 8601 형식의 파이프라인 생성 날짜 및 시간입니다. 예: 2022-01-31T16:47:55Z. 기본적으로 UTC입니다. |
CI_PIPELINE_NAME |
Pre-pipeline | workflow:name에 정의된 파이프라인 이름입니다. GitLab 16.3에서 도입되었습니다. |
CI_PIPELINE_SCHEDULE_DESCRIPTION |
Pre-pipeline | 파이프라인 스케줄의 설명입니다. 스케줄된 파이프라인에서만 사용 가능합니다. GitLab 17.8에서 도입되었습니다. |
CI_PROJECT_DIR |
Job-only | 저장소가 클론되는 전체 경로이자 job이 실행되는 위치입니다. GitLab Runner builds_dir 파라미터가 설정된 경우 이 변수는 builds_dir 값에 상대적으로 설정됩니다. |
CI_PROJECT_ID |
Pre-pipeline | 현재 프로젝트의 ID입니다. 이 ID는 GitLab 인스턴스의 모든 프로젝트에서 고유합니다. |
CI_PROJECT_NAME |
Pre-pipeline | 프로젝트 디렉토리 이름입니다. 예를 들어 프로젝트 URL이 gitlab.example.com/group-name/project-1인 경우 CI_PROJECT_NAME은 project-1입니다. |
CI_PROJECT_NAMESPACE |
Pre-pipeline | job의 프로젝트 네임스페이스(사용자 이름 또는 그룹 이름)입니다. |
CI_PROJECT_NAMESPACE_ID |
Pre-pipeline | job의 프로젝트 네임스페이스 ID입니다. GitLab 15.7에서 도입되었습니다. |
CI_PROJECT_NAMESPACE_SLUG |
Pre-pipeline | a-z 또는 0-9가 아닌 문자가 -로 교체되고 63바이트로 단축된 소문자의 $CI_PROJECT_NAMESPACE입니다. |
CI_PROJECT_PATH_SLUG |
Pre-pipeline | a-z 또는 0-9가 아닌 문자가 -로 교체되고 63바이트로 단축된 소문자의 $CI_PROJECT_PATH입니다. URL 및 도메인 이름에 사용합니다. |
CI_PROJECT_PATH |
Pre-pipeline | 프로젝트 이름을 포함한 프로젝트 네임스페이스입니다. |
CI_PROJECT_REPOSITORY_LANGUAGES |
Pre-pipeline | 저장소에서 사용된 언어의 쉼표로 구분된 소문자 목록입니다. 예: ruby,javascript,html,css. 언어의 최대 수는 5개로 제한됩니다. |
CI_PROJECT_ROOT_NAMESPACE |
Pre-pipeline | job의 루트 프로젝트 네임스페이스(사용자 이름 또는 그룹 이름)입니다. 예를 들어 CI_PROJECT_NAMESPACE가 root-group/child-group/grandchild-group인 경우 CI_PROJECT_ROOT_NAMESPACE는 root-group입니다. |
CI_PROJECT_ROOT_NAMESPACE_SLUG |
Pre-pipeline | a-z 또는 0-9가 아닌 문자가 -로 교체되고 63바이트로 단축된 소문자의 $CI_PROJECT_ROOT_NAMESPACE입니다. |
CI_PROJECT_TITLE |
Pre-pipeline | GitLab 웹 인터페이스에 표시되는 사람이 읽을 수 있는 프로젝트 이름입니다. |
CI_PROJECT_DESCRIPTION |
Pre-pipeline | GitLab 웹 인터페이스에 표시되는 프로젝트 설명입니다. GitLab 15.1에서 도입되었습니다. |
CI_PROJECT_TOPICS |
Pre-pipeline | 프로젝트에 할당된 주제의 쉼표로 구분된 소문자 목록(처음 20개로 제한)입니다. GitLab 18.3에서 도입되었습니다. |
CI_PROJECT_URL |
Pre-pipeline | 프로젝트의 HTTP(S) 주소입니다. |
CI_PROJECT_VISIBILITY |
Pre-pipeline | 프로젝트 가시성입니다. internal, private 또는 public일 수 있습니다. |
CI_PROJECT_CLASSIFICATION_LABEL |
Pre-pipeline | 프로젝트의 외부 인증 분류 레이블입니다. |
CI_REGISTRY |
Pre-pipeline | <host>[:<port>] 형식의 컨테이너 레지스트리 서버 주소입니다. 예: registry.gitlab.example.com. GitLab 인스턴스에 컨테이너 레지스트리가 활성화된 경우에만 사용 가능합니다. |
CI_REGISTRY_IMAGE |
Pre-pipeline | <host>[:<port>]/<project_full_path> 형식의 프로젝트 이미지를 push, pull 또는 태그하기 위한 컨테이너 레지스트리의 기본 주소입니다. 예: registry.gitlab.example.com/my_group/my_project. 프로젝트에 컨테이너 레지스트리가 활성화된 경우에만 사용 가능합니다. |
CI_REGISTRY_PASSWORD |
Job-only | 컨테이너를 GitLab 프로젝트의 컨테이너 레지스트리에 push하기 위한 비밀번호입니다. 프로젝트에 컨테이너 레지스트리가 활성화된 경우에만 사용 가능합니다. |
CI_REGISTRY_USER |
Job-only | 컨테이너를 프로젝트의 GitLab 컨테이너 레지스트리에 push하기 위한 사용자 이름입니다. |
CI_RELEASE_DESCRIPTION |
Pipeline | 릴리스 설명입니다. 태그용 파이프라인에서만 사용 가능합니다. GitLab 15.5에서 도입되었습니다. |
CI_REPOSITORY_URL |
Job-only | CI/CD job 토큰으로 저장소를 Git 클론(HTTP)하기 위한 전체 경로입니다. |
CI_RUNNER_DESCRIPTION |
Job-only | 러너의 설명입니다. |
CI_RUNNER_EXECUTABLE_ARCH |
Job-only | GitLab Runner 실행 파일의 OS/아키텍처입니다. 실행기 환경과 다를 수 있습니다. |
CI_RUNNER_ID |
Job-only | 사용 중인 러너의 고유 ID입니다. |
CI_RUNNER_REVISION |
Job-only | job을 실행하는 러너의 리비전입니다. |
CI_RUNNER_SHORT_TOKEN |
Job-only | 새 job 요청을 인증하는 데 사용되는 러너의 고유 ID입니다. 토큰에는 접두사가 포함되며 처음 17자가 사용됩니다. |
CI_RUNNER_TAGS |
Job-only | 러너 태그의 JSON 배열입니다. 예: ["tag_1", "tag_2"]. |
CI_RUNNER_VERSION |
Job-only | job을 실행하는 GitLab Runner의 버전입니다. |
CI_SERVER_FQDN |
Pre-pipeline | 인스턴스의 완전히 정규화된 도메인 이름(FQDN)입니다. 예: gitlab.example.com:8080. GitLab 16.10에서 도입되었습니다. |
CI_SERVER_HOST |
Pre-pipeline | 프로토콜 또는 포트 없이 GitLab 인스턴스 URL의 호스트입니다. 예: gitlab.example.com. |
CI_SERVER_NAME |
Pre-pipeline | job을 조율하는 CI/CD 서버의 이름입니다. |
CI_SERVER_PORT |
Pre-pipeline | 호스트 또는 프로토콜 없이 GitLab 인스턴스 URL의 포트입니다. 예: 8080. |
CI_SERVER_PROTOCOL |
Pre-pipeline | 호스트 또는 포트 없이 GitLab 인스턴스 URL의 프로토콜입니다. 예: https. |
CI_SERVER_SHELL_SSH_HOST |
Pre-pipeline | SSH를 통해 Git 저장소에 접근하는 데 사용되는 GitLab 인스턴스의 SSH 호스트입니다. 예: gitlab.com. GitLab 15.11에서 도입되었습니다. |
CI_SERVER_SHELL_SSH_PORT |
Pre-pipeline | SSH를 통해 Git 저장소에 접근하는 데 사용되는 GitLab 인스턴스의 SSH 포트입니다. 예: 22. GitLab 15.11에서 도입되었습니다. |
CI_SERVER_REVISION |
Pre-pipeline | job을 스케줄하는 GitLab 리비전입니다. |
CI_SERVER_TLS_CA_FILE |
Pipeline | 러너 설정에서 tls-ca-file이 설정된 경우 GitLab 서버를 확인하기 위한 TLS CA 인증서를 포함하는 파일입니다. |
CI_SERVER_TLS_CERT_FILE |
Pipeline | 러너 설정에서 tls-cert-file이 설정된 경우 GitLab 서버를 확인하기 위한 TLS 인증서를 포함하는 파일입니다. |
CI_SERVER_TLS_KEY_FILE |
Pipeline | 러너 설정에서 tls-key-file이 설정된 경우 GitLab 서버를 확인하기 위한 TLS 키를 포함하는 파일입니다. |
CI_SERVER_URL |
Pre-pipeline | 프로토콜 및 포트를 포함한 GitLab 인스턴스의 기본 URL입니다. 예: https://gitlab.example.com:8080. |
CI_SERVER_VERSION_MAJOR |
Pre-pipeline | GitLab 인스턴스의 주 버전입니다. 예: GitLab 버전이 17.2.1인 경우 CI_SERVER_VERSION_MAJOR는 17입니다. |
CI_SERVER_VERSION_MINOR |
Pre-pipeline | GitLab 인스턴스의 부 버전입니다. 예: GitLab 버전이 17.2.1인 경우 CI_SERVER_VERSION_MINOR는 2입니다. |
CI_SERVER_VERSION_PATCH |
Pre-pipeline | GitLab 인스턴스의 패치 버전입니다. 예: GitLab 버전이 17.2.1인 경우 CI_SERVER_VERSION_PATCH는 1입니다. |
CI_SERVER_VERSION |
Pre-pipeline | GitLab 인스턴스의 전체 버전입니다. |
CI_SERVER |
Job-only | CI/CD에서 실행되는 모든 job에서 사용 가능합니다. 사용 가능할 때 yes입니다. |
CI_SHARED_ENVIRONMENT |
Pipeline | job이 공유 환경에서 실행되는 경우에만 사용 가능합니다(shell 또는 ssh 실행기처럼 CI/CD 호출 간에 지속되는 것). 사용 가능할 때 true입니다. |
CI_TEMPLATE_REGISTRY_HOST |
Pre-pipeline | CI/CD 템플릿에서 사용하는 레지스트리의 호스트입니다. 기본값은 registry.gitlab.com입니다. GitLab 15.3에서 도입되었습니다. |
CI_TRIGGER_SHORT_TOKEN |
Job-only | 현재 job의 트리거 토큰의 처음 4자입니다. 파이프라인이 트리거 토큰으로 트리거된 경우에만 사용 가능합니다. GitLab 17.0에서 도입되었습니다. |
CI_UPSTREAM_JOB_ID |
Pre-pipeline | 다중 프로젝트 또는 부모-자식 파이프라인에서 현재 파이프라인을 트리거한 업스트림 트리거 job의 ID입니다. GitLab 18.9에서 도입되었습니다. |
CI_UPSTREAM_PIPELINE_ID |
Pre-pipeline | 다중 프로젝트 또는 부모-자식 파이프라인에서 현재 파이프라인을 트리거한 업스트림 파이프라인의 ID입니다. GitLab 18.9에서 도입되었습니다. |
CI_UPSTREAM_PROJECT_ID |
Pre-pipeline | 다중 프로젝트 또는 부모-자식 파이프라인에서 현재 파이프라인을 트리거한 업스트림 프로젝트의 ID입니다. GitLab 18.9에서 도입되었습니다. |
GITLAB_CI |
Pre-pipeline | CI/CD에서 실행되는 모든 job에서 사용 가능합니다. 사용 가능할 때 true입니다. |
GITLAB_FEATURES |
Pre-pipeline | GitLab 인스턴스 및 라이선스에서 사용 가능한 라이선스 기능의 쉼표로 구분된 목록입니다. |
GITLAB_USER_EMAIL |
Pipeline | 파이프라인을 시작한 사용자의 이메일입니다. 수동 job의 경우 job을 시작한 사용자의 이메일입니다. |
GITLAB_USER_ID |
Pipeline | 파이프라인을 시작한 사용자의 숫자 ID입니다. 수동 job의 경우 job을 시작한 사용자의 ID입니다. |
GITLAB_USER_LOGIN |
Pipeline | 파이프라인을 시작한 사용자의 고유 사용자 이름입니다. 수동 job의 경우 job을 시작한 사용자의 사용자 이름입니다. |
GITLAB_USER_NAME |
Pipeline | 파이프라인을 시작한 사용자의 표시 이름(프로필 설정의 사용자 정의 Full name)입니다. 수동 job의 경우 job을 시작한 사용자의 이름입니다. |
KUBECONFIG |
Pipeline | 모든 공유 에이전트 연결에 대한 컨텍스트가 있는 kubeconfig 파일의 경로입니다. Kubernetes용 GitLab 에이전트가 프로젝트에 접근하도록 승인된 경우에만 사용 가능합니다. |
TRIGGER_PAYLOAD |
Pipeline | 웹훅 페이로드입니다. 파이프라인이 웹훅으로 트리거된 경우에만 사용 가능합니다. |
머지 리퀘스트 파이프라인에 대한 사전 정의 변수#
이 변수들은 GitLab이 파이프라인을 생성하기 전에(Pre-pipeline) 사용 가능합니다. 이 변수들은 include:rules 및 job의 환경 변수로 사용할 수 있습니다.
파이프라인은 머지 리퀘스트 파이프라인이어야 하며, 머지 리퀘스트가 열려 있어야 합니다.
| 변수 | 설명 |
|---|---|
CI_MERGE_REQUEST_APPROVED |
머지 리퀘스트의 승인 상태입니다. 머지 리퀘스트 승인이 사용 가능하고 머지 리퀘스트가 승인된 경우 true입니다. |
CI_MERGE_REQUEST_ASSIGNEES |
머지 리퀘스트 담당자의 쉼표로 구분된 사용자 이름 목록입니다. 머지 리퀘스트에 담당자가 한 명 이상인 경우에만 사용 가능합니다. |
CI_MERGE_REQUEST_DIFF_BASE_SHA |
머지 리퀘스트 diff의 기본 SHA입니다. |
CI_MERGE_REQUEST_DIFF_ID |
머지 리퀘스트 diff의 버전입니다. |
CI_MERGE_REQUEST_EVENT_TYPE |
머지 리퀘스트의 이벤트 유형입니다. detached, merged_result 또는 merge_train일 수 있습니다. |
CI_MERGE_REQUEST_DESCRIPTION |
머지 리퀘스트의 설명입니다. 설명이 2700자 이상인 경우 처음 2700자만 변수에 저장됩니다. GitLab 16.7에서 도입되었습니다. |
CI_MERGE_REQUEST_DESCRIPTION_IS_TRUNCATED |
머지 리퀘스트 설명이 너무 길어 CI_MERGE_REQUEST_DESCRIPTION이 2700자로 잘린 경우 true, 그렇지 않으면 false입니다. GitLab 16.8에서 도입되었습니다. |
CI_MERGE_REQUEST_ID |
머지 리퀘스트의 인스턴스 수준 ID입니다. GitLab 인스턴스의 모든 프로젝트에서 고유합니다. |
CI_MERGE_REQUEST_IID |
머지 리퀘스트의 프로젝트 수준 IID(내부 ID)입니다. 이 ID는 현재 프로젝트에서 고유하며 머지 리퀘스트 URL, 페이지 제목 및 기타 표시 위치에서 사용되는 번호입니다. |
CI_MERGE_REQUEST_LABELS |
머지 리퀘스트의 쉼표로 구분된 레이블 이름입니다. 머지 리퀘스트에 레이블이 한 개 이상인 경우에만 사용 가능합니다. |
CI_MERGE_REQUEST_MILESTONE |
머지 리퀘스트의 마일스톤 제목입니다. 머지 리퀘스트에 마일스톤이 설정된 경우에만 사용 가능합니다. |
CI_MERGE_REQUEST_PROJECT_ID |
머지 리퀘스트 프로젝트의 ID입니다. |
CI_MERGE_REQUEST_PROJECT_PATH |
머지 리퀘스트 프로젝트의 경로입니다. 예: namespace/awesome-project. |
CI_MERGE_REQUEST_PROJECT_URL |
머지 리퀘스트 프로젝트의 URL입니다. 예: http://192.168.10.15:3000/namespace/awesome-project. |
CI_MERGE_REQUEST_REF_PATH |
머지 리퀘스트의 ref 경로입니다. 예: refs/merge-requests/1/head. |
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME |
머지 리퀘스트의 소스 브랜치 이름입니다. |
CI_MERGE_REQUEST_SOURCE_BRANCH_PROTECTED |
머지 리퀘스트의 소스 브랜치가 보호된 경우 true입니다. GitLab 16.4에서 도입되었습니다. |
CI_MERGE_REQUEST_SOURCE_BRANCH_SHA |
머지 리퀘스트 소스 브랜치의 HEAD SHA입니다. 머지 리퀘스트 파이프라인에서는 변수가 비어 있습니다. SHA는 병합 결과 파이프라인에서만 존재합니다. |
CI_MERGE_REQUEST_SOURCE_PROJECT_ID |
머지 리퀘스트 소스 프로젝트의 ID입니다. |
CI_MERGE_REQUEST_SOURCE_PROJECT_PATH |
머지 리퀘스트 소스 프로젝트의 경로입니다. |
CI_MERGE_REQUEST_SOURCE_PROJECT_URL |
머지 리퀘스트 소스 프로젝트의 URL입니다. |
CI_MERGE_REQUEST_SQUASH_ON_MERGE |
머지 시 스쿼시 옵션이 설정된 경우 true입니다. GitLab 16.4에서 도입되었습니다. |
CI_MERGE_REQUEST_TARGET_BRANCH_NAME |
머지 리퀘스트의 타겟 브랜치 이름입니다. |
CI_MERGE_REQUEST_TARGET_BRANCH_PROTECTED |
머지 리퀘스트의 타겟 브랜치가 보호된 경우 true입니다. GitLab 15.2에서 도입되었습니다. |
CI_MERGE_REQUEST_TARGET_BRANCH_SHA |
머지 리퀘스트 타겟 브랜치의 HEAD SHA입니다. 머지 리퀘스트 파이프라인에서는 변수가 비어 있습니다. SHA는 병합 결과 파이프라인에서만 존재합니다. |
CI_MERGE_REQUEST_TITLE |
머지 리퀘스트의 제목입니다. |
CI_MERGE_REQUEST_DRAFT |
머지 리퀘스트가 초안인 경우 true입니다. GitLab 17.10에서 도입되었습니다. |
외부 풀 리퀘스트 파이프라인에 대한 사전 정의 변수#
이 변수들은 다음 경우에만 사용 가능합니다:
- 파이프라인이 외부 풀 리퀘스트 파이프라인인 경우
- 풀 리퀘스트가 열려 있는 경우
| 변수 | 설명 |
|---|---|
CI_EXTERNAL_PULL_REQUEST_IID |
GitHub의 풀 리퀘스트 ID입니다. |
CI_EXTERNAL_PULL_REQUEST_SOURCE_REPOSITORY |
풀 리퀘스트의 소스 저장소 이름입니다. |
CI_EXTERNAL_PULL_REQUEST_TARGET_REPOSITORY |
풀 리퀘스트의 타겟 저장소 이름입니다. |
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_NAME |
풀 리퀘스트의 소스 브랜치 이름입니다. |
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_SHA |
풀 리퀘스트 소스 브랜치의 HEAD SHA입니다. |
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_NAME |
풀 리퀘스트의 타겟 브랜치 이름입니다. |
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_SHA |
풀 리퀘스트 타겟 브랜치의 HEAD SHA입니다. |
배포 변수#
배포 구성을 담당하는 통합은 빌드 환경에 설정된 자체 사전 정의 변수를 정의할 수 있습니다. 이러한 변수는 배포 job에서만 정의됩니다.
Auto DevOps 변수#
Auto DevOps가 활성화된 경우 일부 추가 파이프라인 전 변수가 사용 가능해집니다:
AUTO_DEVOPS_EXPLICITLY_ENABLED: Auto DevOps가 활성화됨을 나타내는 값1입니다.STAGING_ENABLED: Auto DevOps 배포 전략을 참조하세요.INCREMENTAL_ROLLOUT_MODE: Auto DevOps 배포 전략을 참조하세요.
통합 변수#
일부 통합은 job에서 변수를 사용 가능하게 합니다. 이러한 변수는 Job 전용 사전 정의 변수로 사용 가능합니다.
문제 해결#
script 명령을 사용하여 job에서 사용 가능한 모든 변수의 값을 출력할 수 있습니다.
