환경 변수 사용하기
깃허브는 각각의 깃허브 액션 워크플로우 실행마다 디포트 환경변수를 설정해줍니다. 물론 커스텀 환경변수를 워크플로우 파일에 설정할 수 있습니다.
#
환경변수에 대하여깃허브는 워크플로우의 모든 스텝을 실행시키기 위해 디폴트로 환경 변수를 설정합니다. 환경 변수는 대소문자를 구분(case-sensitive)합니다. 액션이나 스텝에서 실행되는 커맨드는 환경변수를 생성하거나 읽거나 수정할 수 있습니다.
커스텀 환경변수를 설정하기 위해서는 워크플로우 파일에 변수들을 지정해주어야 합니다. 환경변수를 단계, 잡, 또는 모든 워크플로우에서 정의할 수 있습니다. 다음의 키워드를 이용해서 사용하세요:
jobs.<job_id>.steps.id
jobs.<job_id>.env
env
더 많은 정보는 "워크플로우 문법"을 참고하세요.
#
디폴트 환경변수파일 경로를 하드코딩하는 것보다 액션에서 환경변수들을 써서 파일시스템에 접근하는 것을 매우 권장합니다. 깃허브는 모든 가상환경에서 사용할 액션에 대한 환경변수들을 설정합니다.
환경 변수 | 설명 | 예시 |
---|---|---|
HOME | 사용자 데이터를 저장하는데 사용되는 깃허브 홈 디렉토리 경로. | github/home |
GITHUB-WORKFLOW | 워크플로우의 이름 | |
GITHUB-ACTION | 액션의 유니크한 식별자(id ) | |
GITHUB-ACTIONS | 깃허브 액션이 워크플로우에서 실행되고 있을 때는 항상 true 로 설정되있는 값. 이 변수로 테스트를 로컬로 진행할 때와 깃허브 액션으로 진행할 때를 구별할 수 있다. | |
GITHUB-ACTOR | 워크플로우를 시작한 사람이나 앱의 이름. | octocat |
GITHUB_REPOSITORY | owner와 레포지토리 이름. | 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 | ㅣ워크플로우를 트리거한 커밋 SHA | ffac537e6cbbf934b08745a378932722df287a53 |
GITHUB_REF | 워크플로우를 트리거한 브랜치 혹은 태그 ref. 만약 브랜치나 태그 둘 중 어떤거라도 이벤트타입으로 사용 불가능하다면, 변수는 존재하지 않을것이다. | refs/heads/feature-branch-1 |
GITHUB_HEAD_REF | forked 레포지토리만 설정한다. HEAD 레포지토리의 브랜치. | |
GITHUB_BASE_REF | forked 레포지토리만 설정한다. base 레포지토리의 브랜치 |