배포 대상에 범위를 지정한 비밀값
GitHub Actions의 환경은 이름이 붙은 배포 대상(staging, production, preview)이야. 각 환경마다 자기만의 비밀값, 변수, 보호 규칙, 배포 URL을 가질 수 있어.
대표적인 구성은 이런 식이야:
staging환경은STAGING_DB_URL과STAGING_API_KEY를 가지고 있어.production환경은PROD_DB_URL,PROD_API_KEY에 필수 리뷰어까지 설정할 수 있어.- 하나의 워크플로 파일 안에 두 개의 작업을 두고, 각각 다른 환경에 범위를 지정하는 거지.
환경이 중요한 이유
- 피해 범위 —
staging대상으로 실행되는 워크플로는production비밀값을 아예 읽을 수 없어. 확실하게 벽이 쳐져 있거든. - 승인 — 환경은 필수 리뷰어(수동 승인)와 대기 타이머(대기 기간)를 지원해. 배포 작업은 조건이 만족될 때까지 잠시 멈춰 있어.
- 브랜치 정책 — 환경을 특정 브랜치로 제한할 수 있어. 예를 들어 prod는
main브랜치에서만 쓸 수 있게 하는 거지. - 가시성 — Deployments 탭에서 각 환경에 현재 어떤 커밋이 배포됐는지, 실행 링크와 함께 확인할 수 있어.