# GitHub Actions 번역하며 요약하기
https://help.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables
- 깃헙은 각 깃헙 액션 워크플로우 실행에 대한 기본 환경 변수를 설정한다
- 워크플로우 파일에서 커스텀 환경변수도 설정할 수 있다
0. About environment variables
- 깃헙은 워크플로우의 매 step 마다 사용가능한 기본 환경변수를 설정한다
- 환경변수는 대소문자를 구분한다
- Action 또는 steps 에서 실행하는 커맨드는 환경변수를 생성, 읽기 및 수정할 수 있다
- 커스텀 환경변수를 설정하려면 워크플로우 파일에서 변수 명시하는게 필요하다
- jobs.<job_id>.steps.env, jobs.<job_id>.env, and env 키워드를 사용하여
step, job 또는 전체 워크플로우에 대한 환경변수를 정의할 수 있다
steps:
- name: Hello world
run: echo Hello world $FIRST_NAME $middle_name $Last_Name!
env:
FIRST_NAME: Mona
middle_name: The
Last_Name: Octocat
- 워크플로우에서 다음 step 이 사용할 수 있는 환경변수를 설정하기위해 'set-env' 커맨드를 사용할 수 있다
- 'set-env' 커맨드는 action 으로 직접 사용되거나 'run' 키워드를 사용하여 워프플로우 파일에서 shell 커맨드로 사용할 수 있다
참고) Workflow commands for GitHub Actions
1. Default environment variables
- 파일 시스템에 접근하기 위해 하드코딩된 파일 경로보다 환경변수를 사용하는 action 을 추천한다
- 깃헙은 모든 runner 환경에서 사용하기위한 action 환경변수를 설정한다
환경변수 | 설명 |
HOME | 사용자 데이터를 저장하는데 사용되는 깃헙 홈 경로 |
GITHUB_WORKFLOW | 워크플로우 이름 |
GITHUB_RUN_ID | 레파지토리 내에서 각 실행에 대한 고유번호로 워크플로우를 재실행해도 변경되지 않는다 |
GITHUB_RUN_NUMBER | 레파지토리에서 특정 워크플로우의 각 실행에 대한 고유 번호로 워크플로우의 첫번째 실행이 1로 시작하여 각 새로운 실행마다 증가한다. 워크플로우를 재실행해도 변경되지 않는다 |
GITHUB_ACTION | action 의 고유 아이디 (id) |
GITHUB_ACTIONS | 깃헙 액션이 워크플로우를 실행할 때 항상 true 로 설정한다. 이 변수는 테스트가 로컬 또는 깃헙 액션에 의해 실행될 때 구별할 수 있다 |
GITHUB_ACTOR | 워크플로우에서 초기화된 사용자 또는 앱의 이름 (octocat) |
GITHUB_REPOSITORY | 소유자와 레파지토리 이름 (ex. octocat/Hello-Word) |
GITHUB_EVENT_NAME | 워크플로우에 트리거된 웹훅 이벤트 이름 |
GITHUB_EVENT_PATH | 완전한 웹훅 이벤트 페이로드가 있는 파일 경로 (ex. /github/workflow/event.json) |
GITHUB_WORKSPACE | 깃헙 워크스페이스 디렉토리 경로로 워크플로우가 'actions/checkout action' 를 사용하는 경우 레파지토리 복사본의 하위 디렉토리를 포함한다 'actions/checkout action' 을 사용하지 않으면 디렉토리는 비어있다 (ex. /home/runner/work/my-repo-name/my-repo-name) |
GITHUB_SHA | 워크플로우를 트리거한 커밋의 SHA (ex. ffac537e6cbbf934b08745a378932722df287a53) |
GITHUB_REF | 워크플로우를 트리거한 브랜치 또는 태그 참조 (ex. refs/heads/feature-branch-1) 이벤트 타입에 브랜치 또는 태그를 사용할 수 없으면 변수가 존재하지 않는다 |
GITHUB_HEAD_REF | fork 한 레파지토리에만 설정하며 head 레파지토리의 분기이다 |
GITHUB_BASE_REF | fork 한 레파지토리에만 설정하며 base 레파지토리의 분기이다 |
2. Naming conventions for environment variables
- 깃헙 내부 사용을 위해 'GITHUB_' 환경 변수가 prefix 예약되어있고
환경변수 또는 secret 을 'GITHUB_' prefix 로 설정하면 에러가 발생한다 - 파일시스템 위치를 가리키도록 설정한 새로운 환경변수에는 '_PATH' 접미사가 있어야한다
'home' 과 'workspace' 라는 단어는 이미 위치를 의미하기 때문에 HOME 과 GITHUB_WORKSPACE 기본 변수는
위 규칙에서 예외이다
'기타개발 > GitHub Actions' 카테고리의 다른 글
GitHub Actions #8 - Authenticating with the GITHUB_TOKEN (0) | 2020.03.31 |
---|---|
GitHub Actions #6 - Creating and storing encrypted secrets (0) | 2020.03.29 |
GitHub Actions #5 - Build and upload debug apk (0) | 2020.03.28 |
GitHub Actions #4 - Managing a workflow run (0) | 2020.03.27 |
GitHub Actions #3 - Starting with preconfigured workflow templates (0) | 2020.03.26 |
댓글