Skip to main content

환경 변수 사용하기

깃허브는 각각의 깃허브 액션 워크플로우 실행마다 디포트 환경변수를 설정해줍니다. 물론 커스텀 환경변수를 워크플로우 파일에 설정할 수 있습니다.

환경변수에 대하여#

깃허브는 워크플로우의 모든 스텝을 실행시키기 위해 디폴트로 환경 변수를 설정합니다. 환경 변수는 대소문자를 구분(case-sensitive)합니다. 액션이나 스텝에서 실행되는 커맨드는 환경변수를 생성하거나 읽거나 수정할 수 있습니다.

커스텀 환경변수를 설정하기 위해서는 워크플로우 파일에 변수들을 지정해주어야 합니다. 환경변수를 단계, 잡, 또는 모든 워크플로우에서 정의할 수 있습니다. 다음의 키워드를 이용해서 사용하세요:

  • jobs.<job_id>.steps.id
  • jobs.<job_id>.env
  • env

더 많은 정보는 "워크플로우 문법"을 참고하세요.

steps:
- name: Hello world
run: echo Hello world $FIRST_NAME $middle_name $Last_Name!
env:
FIRST_NAME: Mona
middle_name: The
Last_Name: Octocat

디폴트 환경변수#

파일 경로를 하드코딩하는 것보다 액션에서 환경변수들을 써서 파일시스템에 접근하는 것을 매우 권장합니다. 깃허브는 모든 가상환경에서 사용할 액션에 대한 환경변수들을 설정합니다.

환경 변수설명예시
HOME사용자 데이터를 저장하는데 사용되는 깃허브 홈 디렉토리 경로.github/home
GITHUB-WORKFLOW워크플로우의 이름
GITHUB-ACTION액션의 유니크한 식별자(id)
GITHUB-ACTIONS깃허브 액션이 워크플로우에서 실행되고 있을 때는 항상 true로 설정되있는 값. 이 변수로 테스트를 로컬로 진행할 때와 깃허브 액션으로 진행할 때를 구별할 수 있다.
GITHUB-ACTOR워크플로우를 시작한 사람이나 앱의 이름.octocat
GITHUB_REPOSITORYowner와 레포지토리 이름.octocat/Hello-World
GITHUB_EVENT_NAME워크플로우를 트리거 하는 웹훅 이벤트 이름
GITHUB_EVENT_PATH완전한 웹훅 이벤트가 탑재된 파일의 경로/github/workflow/event.json
GITHUB_WORKSPACE깃허브 워크스페이스 디렉토리 경로. 워크스페이스 디렉토리는 actions/checkout 액션을 사용할 때 레포지토리의 복사본이 있는 서브디렉토리를 포함한다. 만약 actions/checkout 액션을 사용하지 않는다면, 디렉토리는 비어있을 것이다./home/runner/work/my-repo-name/my-repo-name
GITHUB_SHAㅣ워크플로우를 트리거한 커밋 SHAffac537e6cbbf934b08745a378932722df287a53
GITHUB_REF워크플로우를 트리거한 브랜치 혹은 태그 ref. 만약 브랜치나 태그 둘 중 어떤거라도 이벤트타입으로 사용 불가능하다면, 변수는 존재하지 않을것이다.refs/heads/feature-branch-1
GITHUB_HEAD_REFforked 레포지토리만 설정한다. HEAD 레포지토리의 브랜치.
GITHUB_BASE_REFforked 레포지토리만 설정한다. base 레포지토리의 브랜치