환경 변수의 세 가지 계층
워크플로의 환경 변수는 예측 가능한 우선순위를 가진 세 계층에서 가져와:
- 단계 환경 변수 — 단계의
env:아래에 정의해. 해당 단계에서 가장 높은 우선순위를 가져. - 작업 환경 변수 — 작업의
env:아래에 정의해. 해당 작업의 모든 단계에서 볼 수 있어. - 워크플로 환경 변수 — 최상위 수준에 정의해. 어디서든 볼 수 있어.
두 계층이 같은 이름을 정의하면 더 구체적인 계층이 우선해 (단계 > 작업 > 워크플로).
표현식에서 환경 변수 읽기
접근하는 두 가지 방법이 있는데, 미묘한 차이가 있어:
- 셸 실행 안:
$VAR(bash) — 실행할 때 실제 프로세스 환경 변수를 사용해. - 표현식 안:
${{ env.VAR }}— 단계 실행 전인 파싱 시점에 읽어. 일부 컨텍스트는 아직 사용할 수 없으니 아래를 참고해.
GITHUB_ENV 파일의 컨텍스트 우선순위
단계는 $GITHUB_ENV에 값을 쓸 수 있어 — 다음 단계에서 볼 수 있는 환경 변수를 추가하는 거지. 2번 단계에서 값을 계산하고 5번 단계에서 쓰는 식으로 활용할 수 있어.