# GitHub Actions 번역하며 요약하기
0. About workflow templates
- 깃헙 워크플로우는 워크플로우를 자동화 하거나 특정 언어와 프레임워크에 대한 CI 워크플로우를 생성하기위해 미리 구성된 워크플로우 템플릿을 제공한다.
- 깃헙은 코드를 분석하고 레파지토리에 가장 적합한 CI 템플릿을 보여준다
- 예를들어 레파지토리에 Node.js 코드가 있다면, Node.js 프로젝트를 위한 제안을 볼 수 있다
- action/starter-workflows 레파지토리에서 CI 템플릿의 전체 리스트 볼 수 있으며,
automation templates 에서 워크플로우 자동화를 위한 템플릿도 찾을 수 있다
1. Adding your first workflow template
1. 본인의 깃헙 레파지토리 메인 페이지에서 'Action' 탭 선택
2. 자동으로 언어와 맞는 워크플로우 템플릿이 추천된다. 'Set up this workflow' 선택
3. 그럼 'repository-name/.github/workflows/blank.yml' 파일이 기본으로 작성된 페이지로 랜딩된다
- 워크플로우 문법 확인 : Workflow syntax
- 워크플로우 파일을 작성 후 커밋한다
- Action 파일도 '/.github/actions/action.yml' 에 작성해서 step.uses 에 명세할 수 있다
# 워크플로우의 이름 # 필수. master branch 에서 아래 이벤트 (push, pull_request) 가 발생하면 jobs 를 실행한다 # branch 생략 가능 on: push: branches: [ master ] pull_request: branches: [ master ]
# on 에서 정의한 이벤트가 발생했을 때 실행되며 워크플로우는 하나 이상의 job 으로 구성된다 # 기본적으로 병렬로 실행되며, # 순차적으로 실행하려면 해당 job 을 사용하여 다른 job 에 대한 종속성을 job_id 키워드를 사용하여 정의하면 된다 # 각 job 에는 job 과 연결 할 id 가 있어야 한다 jobs: # 이 워크플로우는 build 라는 job_id 를 가진 한개의 job 으로 이루어져있다 # job_id 는 문자나 _ 로 시작하거나 영숫자, -, _ 만 포함해야 한다 build: # 각 job 은 아래 작성한 runs-on 환경에서 실행된다 runs-on: ubuntu-latest
# job 에는 step 이라는 순차적인 task 를 포함한다 # step 은 명령 및 설정 작업을 실행하거나, 본인/public 레파지토리 또는 도커 레지스트리에서 공개된 action 을 실행할 수 있다 # 모든 step 이 action 을 실행하지 않지만 모든 action 은 step 으로 실행된다 # 각 step 은 runner 환경에서 자체 프로세스로 실행되고 워크스페이스와 파일시스템에 액세스할 수 있다 # step 자체 프로세스로 실행되기 때문에, 환경 변수에 대한 변경 사항은 step 사이에 유지되지 않는다 # 깃헙은 job 을 설정하고 완성하기 위해 빌트인된 step 을 제공한다 # 워크플로우 사용량 제한 내에서 무제한으로 step 을 실행할 수 있다 steps: # job 에서 step 의 일부로 실행 할 action 을 선택한다 # action 은 재사용가능한 코드의 단위이다 |