작업 스크립트에서 CI/CD 변수 사용
구성, 사용법 및 보안.
모든 CI/CD 변수는 작업 환경에서 환경 변수로 설정됩니다. 각 환경의 셸에 맞는 표준 형식으로 작업 스크립트에서 변수를 사용할 수 있습니다. 환경 변수에 접근하려면 러너 executor의 셸 에 맞는 구문을 사용합니다. Bash 및 sh 사용 # Bash, sh 및 유사한 셸에서 환경 변수에 접근하려면 CI/CD 변수 앞에 $ 를 붙입니다: job_name: script: - echo "$CI_JOB_ID" PowerShell 사용 # 시스템에서 설정한 환경 변수를 포함하여 Windows PowerShell 환경에서 변수에 접근하려면 변수 이름 앞에 $env: 또는 $ 를 붙입니다: job_name: script: - echo $env:CI_JOB_ID - echo $CI_JOB_ID - echo $env:PATH Windows Batch 사용 # Windows Batch에서 CI/CD 변수에 접근하려면 변수를 % 로 둘러쌉니다: job_name: script: - echo %CI_JOB_ID% 지연 확장 을 위해 변수를 ! 로 둘러쌀 수도 있습니다. 지연 확장은 공백이나 줄 바꿈을 포함하는 변수에 필요할 수 있습니다: job_name: script: - echo !ERROR_MESSAGE ! 서비스 컨테이너에서 # 서비스 컨테이너 는 CI/CD 변수를 사용할 수 있지만, 기본적으로 .gitlab-ci.yml 파일에 저장된 변수 에만 접근할 수 있습니다. 서비스 컨테이너는 기본적으로 신뢰되지 않으므로 GitLab UI에서 추가된 변수 는 서비스 컨테이너에서 사용할 수 없습니다. UI에서 정의된 변수를 서비스 컨테이너에서 사용하려면 .gitlab-ci.yml 에서 다른 변수에 재할당할 수 있습니다: variables: SA_PASSWORD_YAML_FILE: $SA_PASSWORD_UI 재할당된 변수는 원래 변수와 같은 이름을 가질 수 없습니다. 그렇지 않으면 확장되지 않습니다. 파싱 오류 방지 # YAML 및 셸 파싱 오류를 방지하기 위해 스크립트 명령과 변수 값을 따옴표로 감쌉니다: 콜론( : )을 포함하는 명령은 YAML이 이를 키-값 쌍으로 해석하지 못하도록 전체 명령을 따옴표로 감쌉니다: job_name: script: - 'echo "Status: Complete"' # Single quotes prevent YAML colon parsing 값에 공백이나 특수 문자가 포함될 수 있는 경우 변수를 따옴표로 감쌉니다: job_name: script: - echo "$FILE_PATH" # Quote if FILE_PATH might have spaces 변수를 별도의 셸 인수로 확장하려는 경우 따옴표를 사용하지 않습니다: job_name: variables: COMPILE_FLAGS: "-Wall -Werror -O2" script: - gcc $COMPILE_FLAGS main.c # Expands to: gcc -Wall -Werror -O2 main.c 이후 작업에 환경 변수 전달 # dotenv 보고서 를 사용하여 작업
