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

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

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

사전 정의된 변수를 재정의하지 마세요,
이는 파이프라인이 예기치 않게 동작하게 할 수 있습니다.

변수 가용성

사전 정의된 변수는 파이프라인 실행의 세 가지 다른 단계에서 사용할 수 있게 됩니다:

  • Pre-pipeline: Pre-pipeline 변수는 파이프라인이 생성되기 전에 사용할 수 있습니다.
    이 변수는 include:rules와 함께 사용할 수 있는 유일한 변수입니다
    파이프라인 생성 시 사용할 구성 파일을 제어합니다.

  • Pipeline: 파이프라인 변수는 GitLab이 파이프라인을 생성할 때 사용할 수 있습니다.
    Pre-pipeline 변수와 함께, 파이프라인 변수를 사용하여 작업에서 정의된 rules를 구성하고
    파이프라인에 추가할 작업을 결정할 수 있습니다.

  • Job-only: 이 변수는 러너가 작업을 선택하고 실행할 때 각 작업에만 제공됩니다, 그리고:

사전 정의된 변수

변수 가용성 설명
CHAT_CHANNEL Pipeline ChatOps 명령을 트리거한 소스 채팅 채널.
CHAT_INPUT Pipeline ChatOps 명령과 함께 전달된 추가 인수.
CHAT_USER_ID Pipeline ChatOps 명령을 트리거한 사용자의 채팅 서비스 사용자 ID.
CI Pipeline CI/CD에서 실행되는 모든 작업에 대해 사용 가능. 사용 가능할 때 true.
CI_API_V4_URL Pipeline GitLab API v4 루트 URL.
CI_API_GRAPHQL_URL Pipeline GitLab API GraphQL 루트 URL. GitLab 15.11에서 도입됨.
CI_BUILDS_DIR Job-only 빌드가 실행되는 최상위 디렉토리.
CI_COMMIT_AUTHOR Pre-pipeline Name <email> 형식의 커밋 작성자.
CI_COMMIT_BEFORE_SHA Pre-pipeline 브랜치 또는 태그에 존재하는 이전 최신 커밋. merge request 파이프라인은 항상 0000000000000000000000000000000000000000입니다.
CI_COMMIT_BRANCH Pre-pipeline 커밋 브랜치 이름. 브랜치 파이프라인과 기본 브랜치에 대해 사용 가능. merge request 파이프라인 또는 태그 파이프라인에서는 사용 불가.
CI_COMMIT_DESCRIPTION Pre-pipeline 커밋의 설명. 제목이 100자 미만인 경우 첫 번째 줄을 제외한 메시지.
CI_COMMIT_MESSAGE Pre-pipeline 전체 커밋 메시지.
CI_COMMIT_REF_NAME Pre-pipeline 프로젝트가 구축되는 브랜치 또는 태그 이름.
CI_COMMIT_REF_PROTECTED Pre-pipeline 작업이 보호된 참조에서 실행되고 있으면 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_CONCURRENT_ID Job-only 단일 실행기에 있는 빌드 실행의 고유 ID.
CI_CONCURRENT_PROJECT_ID Job-only 단일 실행기 및 프로젝트의 빌드 실행의 고유 ID.
CI_CONFIG_PATH Pipeline CI/CD 구성 파일의 경로. 기본적으로 .gitlab-ci.yml입니다.
CI_DEBUG_TRACE Pipeline 디버그 로깅(추적)이 활성화되어 있으면 true.
CI_DEBUG_SERVICES Pipeline 서비스 컨테이너 로깅이 활성화되어 있으면 true. GitLab 15.7에서 도입됨. GitLab Runner 15.7이 필요합니다.
CI_DEFAULT_BRANCH Pipeline 프로젝트의 기본 브랜치 이름.
CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX Pipeline Dependency Proxy를 통해 이미지를 가져오기 위한 직접 그룹 이미지 접두사.
CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX Pipeline Dependency Proxy를 통해 이미지를 가져오기 위한 상위 그룹 이미지 접두사.
CI_DEPENDENCY_PROXY_PASSWORD Pipeline Dependency Proxy를 통해 이미지를 가져오기 위한 비밀번호.
CI_DEPENDENCY_PROXY_SERVER 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 Deploy Token이 있는 경우의 인증 비밀번호.
CI_DEPLOY_USER Job-only 프로젝트에 GitLab Deploy Token이 있는 경우의 인증 사용자 이름.
CI_DISPOSABLE_ENVIRONMENT Pipeline 작업이 일회성 환경(오직 이 작업을 위해 생성되고 실행 후 폐기됨)에서 실행되는 경우에만 사용 가능. 사용 가능하면 true.
CI_ENVIRONMENT_NAME Pipeline 이 작업의 환경 이름. environment:name에 설정되어야 사용 가능합니다.
CI_ENVIRONMENT_SLUG Pipeline DNS, URL, Kubernetes 레이블 등에 포함하기에 적합한 환경 이름의 단순화된 버전. environment:name에 설정되어야 사용 가능합니다. 슬러그는 24자로 잘립니다. 대문자 환경 이름에는 자동으로 무작위 접미사가 추가됩니다.
CI_ENVIRONMENT_URL Pipeline 이 작업의 환경 URL. environment:url에 설정되어야 사용 가능합니다.
CI_ENVIRONMENT_ACTION Pipeline 이 작업의 환경에 대해 지정된 작업 주석. environment:action에 설정되어야 사용 가능합니다. start, prepare, 또는 stop일 수 있습니다.
CI_ENVIRONMENT_TIER Pipeline 이 작업의 환경 배포 계층.
CI_GITLAB_FIPS_MODE Pre-pipeline GitLab 인스턴스에서 FIPS 모드가 활성화된 경우에만 사용 가능. 사용 가능하면 true.
CI_HAS_OPEN_REQUIREMENTS Pipeline 파이프라인의 프로젝트에 오픈 요구 사항이 있는 경우에만 사용 가능. 사용 가능하면 true.
CI_JOB_ID Job-only GitLab 인스턴스의 모든 작업에서 고유한 작업의 내부 ID.
CI_JOB_IMAGE Pipeline 작업을 실행하는 Docker 이미지의 이름.
CI_JOB_JWT (Deprecated) Pipeline JWT 인증을 지원하는 제3자 시스템과 인증하기 위한 RS256 JSON 웹 토큰, 예: HashiCorp의 Vault. GitLab 15.9에서 사용 중단됨 및 GitLab 17.0에서 제거될 예정입니다. 대신 ID tokens를 사용하세요.
CI_JOB_JWT_V1 (Deprecated) Pipeline CI_JOB_JWT와 동일한 값. GitLab 15.9에서 사용 중단됨 및 GitLab 17.0에서 제거될 예정입니다. 대신 ID tokens를 사용하세요.
CI_JOB_JWT_V2 (Deprecated) Pipeline 호환성을 높이기 위해 새로 포맷된 RS256 JSON 웹 토큰. CI_JOB_JWT와 유사하지만, 발급자(iss) 클레임이 gitlab.com에서 https://gitlab.com으로 변경되었고, subjob_id에서 프로젝트 경로를 포함하는 문자열로 변경되었으며, aud 클레임이 추가되었습니다. aud 필드는 상수 값입니다. 여러 의존 당사자에서 JWT를 신뢰하는 것은 한 RP가 다른 하나에게 JWT를 전송하고 악의적으로 작업하는 경우로 이어질 수 있습니다. GitLab 15.9에서 사용 중단됨 및 GitLab 17.0에서 제거될 예정입니다. 대신 ID tokens를 사용하세요.
CI_JOB_MANUAL Pipeline 작업이 수동으로 시작된 경우에만 사용 가능. 사용 가능하면 true.
CI_JOB_NAME Pipeline 작업의 이름.
CI_JOB_NAME_SLUG Pipeline CI_JOB_NAME을 소문자로 변환한 것이며, 63바이트로 제한되고 0-9a-z를 제외한 모든 문자가 -로 대체됩니다. 선두 및 후행 -가 없습니다. 경로에서 사용합니다. GitLab 15.4에서 도입됨.
CI_JOB_STAGE Pipeline 작업 단계의 이름.
CI_JOB_STATUS Job-only 각 러너 단계가 실행되는 동안 작업의 상태. after_script와 함께 사용합니다. success, failed, 또는 canceled일 수 있습니다.
CI_JOB_TIMEOUT Job-only 작업 타임아웃, 초 단위. GitLab 15.7에서 도입됨. GitLab Runner 15.7이 필요합니다.
CI_JOB_TOKEN Job-only 특정 API 엔드포인트와 인증하기 위한 토큰. 이 토큰은 작업이 실행되는 동안 유효합니다.
CI_JOB_URL Job-only 작업 세부정보 URL.
CI_JOB_STARTED_AT Job-only 작업이 시작된 날짜와 시간, ISO 8601 형식. 예: 2022-01-31T16:47:55Z. 기본적으로 UTC.
CI_KUBERNETES_ACTIVE Pre-pipeline 파이프라인에 배포를 위한 Kubernetes 클러스터가 사용 가능한 경우에만 사용 가능합니다. 사용 가능하면 true.
CI_NODE_INDEX Pipeline 작업 세트에서 작업의 인덱스. 작업이 parallel을 사용하는 경우에만 사용 가능합니다.
CI_NODE_TOTAL Pipeline 병렬로 실행 중인 이 작업의 총 인스턴스 수. 작업이 parallel을 사용하지 않는 경우 1로 설정됩니다.
CI_OPEN_MERGE_REQUESTS Pre-pipeline 현재 브랜치 및 프로젝트를 사용하여 최대 4개의 병합 요청의 쉼표로 구분된 목록. 브랜치 및 병합 요청 파이프라인에서 브랜치에 관련된 병합 요청이 있는 경우에만 사용 가능합니다. 예: gitlab-org/gitlab!333,gitlab-org/gitlab-foss!11.
CI_PAGES_DOMAIN Pipeline GitLab Pages를 호스팅하는 구성된 도메인.
CI_PAGES_URL Pipeline GitLab Pages 사이트의 URL. 항상 CI_PAGES_DOMAIN의 하위 도메인입니다.
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.
CI_PIPELINE_URL Job-only 파이프라인 세부정보의 URL.
CI_PIPELINE_CREATED_AT Pre-pipeline 파이프라인이 생성된 날짜와 시간, ISO 8601 형식. 예: 2022-01-31T16:47:55Z. 기본적으로 UTC.
CI_PIPELINE_NAME Pre-pipeline workflow:name에 정의된 파이프라인 이름. GitLab 16.3에서 도입됨.
CI_PROJECT_DIR Job-only 저장소가 클론되는 전체 경로이며 작업이 실행되는 경로입니다. GitLab Runner의 builds_dir 매개변수가 설정된 경우, 이 변수는 builds_dir의 값을 기준으로 설정됩니다. 자세한 내용은 고급 GitLab Runner 구성을 참조하세요.
CI_PROJECT_ID Pipeline 현재 프로젝트의 ID. 이 ID는 GitLab 인스턴스의 모든 프로젝트에서 고유합니다.
CI_PROJECT_NAME Pipeline 프로젝트의 디렉토리 이름. 예: 프로젝트 URL이 gitlab.example.com/group-name/project-1이면, CI_PROJECT_NAMEproject-1입니다.
CI_PROJECT_NAMESPACE Pipeline 작업의 프로젝트 네임스페이스(사용자 이름 또는 그룹 이름).
CI_PROJECT_NAMESPACE_ID Pipeline 작업의 프로젝트 네임스페이스 ID. GitLab 15.7에서 도입됨.
CI_PROJECT_PATH_SLUG Pipeline $CI_PROJECT_PATH를 소문자로 변환한 형태이며, a-z 또는 0-9가 아닌 문자는 -로 대체되고 63바이트로 잘립니다. URL 및 도메인 이름에 사용합니다.
CI_PROJECT_PATH Pipeline 프로젝트 이름이 포함된 프로젝트 네임스페이스.
CI_PROJECT_REPOSITORY_LANGUAGES Pipeline 저장소에서 사용된 언어의 쉼표로 구분된 소문자 목록. 예: ruby,javascript,html,css. 언어 수의 최대 제한은 5입니다. 제한 증가를 제안하는 이슈.
CI_PROJECT_ROOT_NAMESPACE Pipeline 작업의 루트 프로젝트 네임스페이스(사용자 이름 또는 그룹 이름). 예: CI_PROJECT_NAMESPACEroot-group/child-group/grandchild-group이면 CI_PROJECT_ROOT_NAMESPACEroot-group입니다.
CI_PROJECT_TITLE Pipeline GitLab 웹 인터페이스에 표시되는 사람이 읽을 수 있는 프로젝트 이름.
CI_PROJECT_DESCRIPTION Pipeline GitLab 웹 인터페이스에 표시되는 프로젝트 설명. GitLab 15.1에서 도입됨.
CI_PROJECT_URL Pipeline 프로젝트의 HTTP(S) 주소.
CI_PROJECT_VISIBILITY Pipeline 프로젝트의 가시성. internal, private, 또는 public이 될 수 있습니다.
CI_PROJECT_CLASSIFICATION_LABEL Pipeline 프로젝트의 외부 인증 분류 라벨.
CI_REGISTRY Pipeline 컨테이너 레지스트리 서버의 주소, <host>[:<port>] 형식. 예: registry.gitlab.example.com. GitLab 인스턴스에서 컨테이너 레지스트리가 활성화되어 있어야 사용 가능합니다.
CI_REGISTRY_IMAGE Pipeline 프로젝트 이미지의 푸시, 풀 또는 태깅을 위한 컨테이너 레지스트리의 기본 주소, <host>[:<port>]/<project_full_path> 형식. 예: registry.gitlab.example.com/my_group/my_project. 이미지 이름은 컨테이너 레지스트리 명명 규칙을 따라야 합니다. 프로젝트에 대해 컨테이너 레지스트리가 활성화되어야만 사용 가능합니다.
CI_REGISTRY_PASSWORD Job-only GitLab 프로젝트의 컨테이너 레지스트리에 이미지를 푸시하기 위한 비밀번호. 프로젝트에 대해 컨테이너 레지스트리가 활성화되어 있어야만 사용 가능합니다. 이 비밀번호 값은 CI_JOB_TOKEN과 동일하며 작업이 실행되는 동안 유효합니다. 레지스트리에 대한 장기 액세스를 위해 CI_DEPLOY_PASSWORD를 사용하세요.
CI_REGISTRY_USER Job-only 프로젝트의 GitLab 컨테이너 레지스트리에 컨테이너를 푸시하기 위한 사용자 이름. 프로젝트에 대해 컨테이너 레지스트리가 활성화되어 있어야만 사용 가능합니다.
CI_RELEASE_DESCRIPTION Pipeline 릴리즈의 설명. 태그에 대한 파이프라인에서만 사용 가능. 설명 길이는 처음 1024자로 제한됩니다. GitLab 15.5에서 도입됨.
CI_REPOSITORY_URL Job-only CI/CD 작업 토큰으로 저장소를 Git clone(HTTP)하는 전체 경로, 형식은 https://gitlab-ci-token:$CI_JOB_TOKEN@gitlab.example.com/my-group/my-project.git.
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 작업을 실행하는 러너의 리비전.
CI_RUNNER_SHORT_TOKEN Job-only 새로운 작업 요청에 대한 인증에 사용되는 러너의 고유 ID. 토큰에는 접두사가 포함되며 첫 17자가 사용됩니다.
CI_RUNNER_TAGS Job-only 러너 태그의 쉼표로 구분된 목록.
CI_RUNNER_VERSION Job-only 작업을 실행 중인 GitLab Runner의 버전.
CI_SERVER_FQDN Pipeline 인스턴스의 완전한 도메인 이름(FQDN). 예: gitlab.example.com:8080. GitLab 16.10에서 도입됨.
CI_SERVER_HOST Pipeline 프로토콜이나 포트 없이 GitLab 인스턴스 URL의 호스트. 예: gitlab.example.com.
CI_SERVER_NAME Pipeline 작업을 조정하는 CI/CD 서버의 이름.
CI_SERVER_PORT Pipeline 호스트나 프로토콜 없이 GitLab 인스턴스 URL의 포트. 예: 8080.
CI_SERVER_PROTOCOL Pipeline 호스트나 포트 없이 GitLab 인스턴스 URL의 프로토콜. 예: https.
CI_SERVER_SHELL_SSH_HOST Pipeline Git 저장소에 SSH를 통해 액세스할 때 사용되는 GitLab 인스턴스의 SSH 호스트. 예: gitlab.com. GitLab 15.11에서 도입됨.
CI_SERVER_SHELL_SSH_PORT Pipeline Git 저장소에 SSH를 통해 액세스할 때 사용되는 GitLab 인스턴스의 SSH 포트. 예: 22. GitLab 15.11에서 도입됨.
CI_SERVER_REVISION Pipeline 작업이 예약된 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 Pipeline 프로토콜과 포트를 포함한 GitLab 인스턴스의 기본 URL. 예: https://gitlab.example.com:8080.
CI_SERVER_VERSION_MAJOR Pipeline GitLab 인스턴스의 주요 버전. 예: GitLab 버전이 17.2.1인 경우, CI_SERVER_VERSION_MAJOR17.
CI_SERVER_VERSION_MINOR Pipeline GitLab 인스턴스의 부 버전. 예: GitLab 버전이 17.2.1인 경우, CI_SERVER_VERSION_MINOR2.
CI_SERVER_VERSION_PATCH Pipeline GitLab 인스턴스의 패치 버전. 예: GitLab 버전이 17.2.1인 경우, CI_SERVER_VERSION_PATCH1.
CI_SERVER_VERSION Pipeline GitLab 인스턴스의 전체 버전.
CI_SERVER Job-only CI/CD에서 실행되는 모든 작업에 대해 사용 가능. 사용 가능할 때 yes.
CI_SHARED_ENVIRONMENT Pipeline 작업이 공유 환경(모든 CI/CD 호출 간에 지속되는 것, shell 또는 ssh 실행기를 포함한)에서 실행되는 경우에만 사용 가능합니다. 사용 가능하면 true.
CI_TEMPLATE_REGISTRY_HOST Pipeline CI/CD 템플릿에서 사용되는 레지스트리의 호스트. 기본적으로 registry.gitlab.com입니다. GitLab 15.3에서 도입됨.
CI_TRIGGER_SHORT_TOKEN Job-only 현재 작업의 트리거 토큰의 처음 4자. 파이프라인이 트리거 토큰으로 트리거된 경우에만 사용 가능합니다. 예: glptt-1234567890abcdefghij의 경우, CI_TRIGGER_SHORT_TOKEN1234입니다. GitLab 17.0에서 도입됨.
GITLAB_CI Pipeline CI/CD에서 실행되는 모든 작업에 대해 사용 가능. 사용 가능할 때 true.
GITLAB_FEATURES Pipeline GitLab 인스턴스 및 라이센스에 대해 사용 가능한 라이센스 기능의 쉼표로 구분된 목록.
GITLAB_USER_EMAIL Pipeline 파이프라인을 시작한 사용자의 이메일, 단 작업이 수동 작업이 아닌 경우. 수동 작업에서는 작업을 시작한 사용자의 이메일 값입니다.
GITLAB_USER_ID Pipeline 파이프라인을 시작한 사용자의 숫자 ID, 단 작업이 수동 작업이 아닌 경우. 수동 작업에서는 작업을 시작한 사용자의 ID입니다.
GITLAB_USER_LOGIN Pipeline 파이프라인을 시작한 사용자의 고유 사용자 이름, 단 작업이 수동 작업이 아닌 경우. 수동 작업에서는 작업을 시작한 사용자의 사용자 이름입니다.
GITLAB_USER_NAME Pipeline 파이프라인을 시작한 사용자의 표시 이름(프로필 설정에서 사용자 정의된 전체 이름), 단 작업이 수동 작업이 아닌 경우. 수동 작업에서는 작업을 시작한 사용자의 이름입니다.
KUBECONFIG Pipeline 모든 공유 에이전트 연결의 컨텍스트를 포함하는 kubeconfig 파일의 경로. GitLab 에이전트가 프로젝트에 액세스할 수 있도록 승인된 경우에만 사용 가능합니다.
TRIGGER_PAYLOAD Pipeline 웹훅 페이로드. 파이프라인이 웹훅으로 트리거된 경우에만 사용 가능한입니다.

병합 요청 파이프라인을 위한 미리 정의된 변수

이 변수들은 GitLab이 파이프라인을 생성하기 전에 사용할 수 있습니다 (Pre-pipeline).

이 변수들은 include:rules와 함께 사용되어 파이프라인을 생성할 때 어떤 구성 파일을 사용할지를 제어할 수 있습니다.

파이프라인은 병합 요청 파이프라인이어야 하며, 병합 요청은 열려 있어야 합니다.

변수 설명
CI_MERGE_REQUEST_APPROVED 병합 요청의 승인 상태입니다. 병합 요청 승인이 가능하고 병합 요청이 승인되었을 때 true입니다. 병합 요청 승인 사용 가능.
CI_MERGE_REQUEST_ASSIGNEES 병합 요청의 담당자 사용자 이름의 쉼표로 구분된 목록입니다.
CI_MERGE_REQUEST_DIFF_BASE_SHA 병합 요청 차이의 기본 SHA입니다.
CI_MERGE_REQUEST_DIFF_ID 병합 요청 차이의 버전입니다.
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입니다. GitLab 16.8에서 도입되었습니다.
CI_MERGE_REQUEST_ID 병합 요청의 인스턴스 수준 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 병합 요청의 참조 경로입니다. 예: 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 병합 시 squash 옵션이 설정되어 있을 때 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_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.

배포 변수

배포 구성을 담당하는 통합은 빌드 환경에서 설정된 자체 미리 정의된 변수를 정의할 수 있습니다. 이러한 변수는 배포 작업에서만 정의됩니다.

예를 들어, Kubernetes 통합은 통합과 함께 사용할 수 있는 배포 변수를 정의합니다.

각 통합에 대한 문서는 해당 통합에서 사용 가능한 배포 변수가 있는지 설명합니다.

통합 변수

일부 통합은 작업에서 사용할 수 있는 변수를 제공합니다. 이러한 변수는 작업 전용 미리 정의된 변수로 제공됩니다:

  • Harbor:
    • HARBOR_URL
    • HARBOR_HOST
    • HARBOR_OCI
    • HARBOR_PROJECT
    • HARBOR_USERNAME
    • HARBOR_PASSWORD
  • Apple App Store Connect:
    • APP_STORE_CONNECT_API_KEY_ISSUER_ID
    • APP_STORE_CONNECT_API_KEY_KEY_ID
    • APP_STORE_CONNECT_API_KEY_KEY
    • APP_STORE_CONNECT_API_KEY_IS_KEY_CONTENT_BASE64
  • Google Play:
    • SUPPLY_PACKAGE_NAME
    • SUPPLY_JSON_KEY_DATA
  • Diffblue Cover:
    • DIFFBLUE_LICENSE_KEY
    • DIFFBLUE_ACCESS_TOKEN_NAME
    • DIFFBLUE_ACCESS_TOKEN

문제 해결

script 명령을 사용하여 작업에서 사용할 수 있는 모든 변수의 값을 출력할 수 있습니다.