InfoGrab Docs

사전 정의 CI/CD 변수 참조

요약

사전 정의 CI/CD 변수는 모든 GitLab CI/CD 파이프라인에서 사용할 수 있습니다. 사전 정의 변수를 재정의하면 파이프라인이 예기치 않게 동작할 수 있으므로 피하세요. 사전 정의 변수는 파이프라인 실행의 세 가지 다른 단계에서 사용 가능해집니다:

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

사전 정의 변수를 재정의하면 파이프라인이 예기치 않게 동작할 수 있으므로 피하세요.

변수 가용성#

사전 정의 변수는 파이프라인 실행의 세 가지 다른 단계에서 사용 가능해집니다:

  • 파이프라인 전(Pre-pipeline): 파이프라인 전 변수는 파이프라인이 생성되기 전에 사용 가능합니다. 이러한 변수는 파이프라인을 생성할 때 사용할 구성 파일을 제어하기 위해 include:rules와 함께 사용할 수 있는 유일한 변수입니다.
  • 파이프라인(Pipeline): 파이프라인 변수는 GitLab이 파이프라인을 생성할 때 사용 가능해집니다. 파이프라인 전 변수와 함께, 파이프라인 변수는 job에 정의된 rules를 구성하여 파이프라인에 추가할 job을 결정하는 데 사용할 수 있습니다.
  • Job 전용(Job-only): 이 변수는 러너가 job을 선택하고 실행할 때만 각 job에서 사용 가능하며:
    • job 스크립트에서 사용할 수 있습니다.
    • 트리거 job과 함께 사용할 수 없습니다.
    • workflow, include 또는 rules와 함께 사용할 수 없습니다.

사전 정의 변수#

변수 가용성 설명
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-9a-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-9a-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이 일회용 환경에서 실행되는 경우에만 사용 가능합니다(shellssh를 제외한 모든 실행기). 사용 가능할 때 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_NAMErspec: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-9a-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-9a-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_NAMEproject-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_NAMESPACEroot-group/child-group/grandchild-group인 경우 CI_PROJECT_ROOT_NAMESPACEroot-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_MAJOR17입니다.
CI_SERVER_VERSION_MINOR Pre-pipeline GitLab 인스턴스의 부 버전입니다. 예: GitLab 버전이 17.2.1인 경우 CI_SERVER_VERSION_MINOR2입니다.
CI_SERVER_VERSION_PATCH Pre-pipeline GitLab 인스턴스의 패치 버전입니다. 예: GitLab 버전이 17.2.1인 경우 CI_SERVER_VERSION_PATCH1입니다.
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가 활성화된 경우 일부 추가 파이프라인 전 변수가 사용 가능해집니다:

통합 변수#

일부 통합은 job에서 변수를 사용 가능하게 합니다. 이러한 변수는 Job 전용 사전 정의 변수로 사용 가능합니다.

문제 해결#

script 명령을 사용하여 job에서 사용 가능한 모든 변수의 값을 출력할 수 있습니다.

사전 정의 CI/CD 변수 참조

Tier: Free, Premium, Ultimate
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에서 사용 가능하며:
    • job 스크립트에서 사용할 수 있습니다.
    • 트리거 job과 함께 사용할 수 없습니다.
    • workflow, include 또는 rules와 함께 사용할 수 없습니다.

사전 정의 변수#

변수 가용성 설명
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-9a-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-9a-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이 일회용 환경에서 실행되는 경우에만 사용 가능합니다(shellssh를 제외한 모든 실행기). 사용 가능할 때 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_NAMErspec: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-9a-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-9a-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_NAMEproject-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_NAMESPACEroot-group/child-group/grandchild-group인 경우 CI_PROJECT_ROOT_NAMESPACEroot-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_MAJOR17입니다.
CI_SERVER_VERSION_MINOR Pre-pipeline GitLab 인스턴스의 부 버전입니다. 예: GitLab 버전이 17.2.1인 경우 CI_SERVER_VERSION_MINOR2입니다.
CI_SERVER_VERSION_PATCH Pre-pipeline GitLab 인스턴스의 패치 버전입니다. 예: GitLab 버전이 17.2.1인 경우 CI_SERVER_VERSION_PATCH1입니다.
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가 활성화된 경우 일부 추가 파이프라인 전 변수가 사용 가능해집니다:

통합 변수#

일부 통합은 job에서 변수를 사용 가능하게 합니다. 이러한 변수는 Job 전용 사전 정의 변수로 사용 가능합니다.

문제 해결#

script 명령을 사용하여 job에서 사용 가능한 모든 변수의 값을 출력할 수 있습니다.