[Gitlab] Gitlab CI/CD 변수
Gitlab CI/CD 변수는 환경 변수의 일종으로, 해당 변수를 사용하여 다음과 같은 일을 할 수 있다.
- 작업 및 파이프라인의 동작을 제어
- 재사용 할 값들을 저장
- `.gitlab-ci.yml` 파일에 하드코딩된 값을 피함
특정 파이프라인에서 변수 값을 재정의하거나, 수동 파이프라인 사전작업에 변수를 미리 채우는 등의 작업이 가능한데,
조금 더 자세히 확인해보자.
미리 정의된 CI/CD 변수
Gitlab CI/CD는 미리 정의된 CI/CD 변수를 파이프라인 구성 및 작업 스크립트에서 사용할 수 있도록 제공한다.
job1:
stage: test
script:
- echo "The job's stage is '$CI_JOB_STAGE'"
예를 들어 위 job 같은 경우엔 `$CI_JOB_STAGE`를 선언하지 않아도 `The job's stage is test` 를 출력한다.
gitlab CI/CD에서 미리 정의해놓은 변수들의 대해선 아래 링크에서 확인이 가능하다.
실행 파일에 CI/CD 변수 정의
`.gitlab-ci.yml` 파일에서 CI/CD 변수를 생성할 수 있는데, `variables` 키워드를 사용하여 변수와 값을 정의한다.
해당 파일에서 저장된 변수는 저장소에 액세스 권한이 있는 모든 사용자에게 표시되며, 비민감한 프로젝트 구성만 저장해야한다.
variables:
GLOBAL_VAR: "A global variable"
job1:
variables:
JOB_VAR: "A job variable"
script:
- echo "Variables are '$GLOBAL_VAR' and '$JOB_VAR'"
위 예제에선 `Variables are A global variable and A job variable`을 출력한다.
만약 전역으로 정의된 변수를 job에서 사용할 수 없도록 원한다면 `variables`를 `{}`로 설정하면 된다.
variables:
GLOBAL_VAR: "A global variable"
job1:
variables: {}
script:
- echo This job does not need any variables
민감한 변수 정의
토큰이나 비밀번호 같은 민감한 변수는 `.gitlab-ci.yml` 파일에 추가하면 보안적으로 문제가 발생 할 수 있다.
민감한 변수는 프로젝스의 UI 설정에 저장하는 것이 바람직하다.
변수를 저장할 repository에서 설정 ⚙ > CI/CD를 선택 후 Variables에서 Expand를 누르면 Add variable을 통해 변수 추가가 가능하다.
참고
'💽 CICD > Git' 카테고리의 다른 글
[Gitlab] Runner 구성하기 (0) | 2025.01.16 |
---|---|
[Gitlab] Gitlab CI/CD 파이프라인 (0) | 2025.01.08 |
[Git] 폴더, 파일 이름 변경 (0) | 2024.10.15 |
[Git] 원격 저장소와 로컬 저장소의 소스 코드 일치 시키기 (0) | 2024.09.06 |
[Git] Git Squash로 커밋 정리하기 (1) | 2024.09.05 |