CollabOps

시크릿과 변수

워크스페이스 및 저장소 레벨에서 시크릿과 변수를 등록하고 관리하는 방법

시크릿(Secrets)과 변수(Variables)는 CI/CD 파이프라인에서 민감한 인증 정보나 환경 설정값을 안전하게 관리하기 위한 기능입니다.

시크릿과 변수의 차이

구분SecretsVariables
용도민감한 인증 정보비밀이 아닌 설정값
예시API 키, 토큰, 비밀번호, SSH 키리전, URL, 배포 환경, 빌드 경로
로그 노출마스킹 처리 (***)그대로 노출
Workflow 참조$\{\{ secrets.KEY \}\}$\{\{ vars.KEY \}\}

시크릿 등록

워크스페이스 레벨

워크스페이스 레벨 시크릿은 해당 워크스페이스의 모든 저장소에서 사용할 수 있습니다.

워크스페이스 설정 페이지로 이동

좌측 메뉴에서 시크릿 선택

시크릿 추가 클릭

이름과 값을 입력하고 저장

시크릿 값은 저장 후 다시 조회할 수 없습니다. 값을 분실한 경우 새로 등록해야 합니다.

저장소 레벨

저장소 레벨 시크릿은 해당 저장소의 파이프라인에서만 사용할 수 있습니다.

저장소 설정 페이지로 이동

좌측 메뉴에서 시크릿 선택

시크릿 추가 클릭

이름과 값을 입력하고 저장

저장소 레벨 시크릿은 워크스페이스 레벨 시크릿보다 우선합니다. 동일한 이름이 있으면 저장소 레벨 값이 사용됩니다.

자주 사용하는 시크릿

시크릿 이름용도설명
GIT_SSH_PRIVATE_KEYGit 체크아웃SSH 개인 키 (base64 인코딩)
GCP_SA_KEYGCP 인증서비스 계정 키 JSON
AWS_ACCESS_KEY_IDAWS 인증AWS Access Key
AWS_SECRET_ACCESS_KEYAWS 인증AWS Secret Key
SLACK_WEBHOOK알림Slack Incoming Webhook URL
NPM_TOKEN패키지 설치npm 레지스트리 인증 토큰

변수 등록

워크스페이스 레벨

워크스페이스 설정 페이지로 이동

좌측 메뉴에서 변수 선택

변수 추가 클릭

이름과 값을 입력하고 저장

저장소 레벨

저장소 설정 페이지로 이동

좌측 메뉴에서 변수 선택

변수 추가 클릭

이름과 값을 입력하고 저장

자주 사용하는 변수

변수 이름용도예시 값
DEPLOY_ENV배포 환경production, staging
AWS_REGIONAWS 리전ap-northeast-2
GCP_PROJECT_IDGCP 저장소my-project-123
GKE_CLUSTERGKE 클러스터 이름prod-cluster
SLACK_CHANNEL알림 채널#deploy-notifications

네이밍 규칙

대문자와 _를 사용하는 것이 관례입니다.

허용 문자: [A-Z0-9_]

예: API_KEY, DB_PASSWORD, DEPLOY_ENV

시크릿과 변수 이름은 동일한 네임스페이스를 공유하지 않습니다. 같은 이름의 시크릿과 변수를 등록할 수 있지만, 혼동을 피하기 위해 구분된 이름을 사용하는 것을 권장합니다.

우선순위

동일한 이름이 여러 레벨에 등록되어 있을 때의 우선순위:

저장소 레벨  >  워크스페이스 레벨
(최우선)           (최하위)

Workflow에서 사용

시크릿과 변수를 등록한 후 Workflow YAML에서 다음과 같이 참조합니다.

env:
  # 변수 참조
  DEPLOY_ENV: "${{ vars.DEPLOY_ENV }}"
  REGION: "${{ vars.AWS_REGION }}"

jobs:
  deploy:
    steps:
      - name: deploy
        run: ./deploy.sh
        env:
          # 시크릿 참조
          API_KEY: "${{ secrets.API_KEY }}"
          DEPLOY_TOKEN: "${{ secrets.DEPLOY_TOKEN }}"

자세한 사용법은 CI/CD 환경 변수 문서를 참조하세요.

목차