특정 이벤트가 발생했을 때 내가 원하는 일을 자동으로 수행할 수 있게 만들어주는 툴
- Events
- 어떤 일이 발생했는지를 지정 (main 브랜치로 머지했을 때, 커밋을 푸시했을 때, 이슈를 누군가 열었을 때)
- on: push
- Workflows
- 특정 이벤트가 발생했을 때 수행할 작업(자동화할 작업)을 명시
- push라는 event가 발생하면 workflow에 지정된 것들이 수행됨
- Workflow 안에는 Job이 있음
- Jobs
- 하나 또는 다수의 jobs - 병렬적, 동시다발적으로 jobs가 실행됨 or 순차적으로 진행하도록 만들 수 있음
- run unit tests
- run E2E tests
- Job 안에는 steps가 있음
- 기본 명령어 - npm test, …
- action 명령 - action checkout, action setup node, …
- Actions
- 우리가 재사용할 수 있는 공개적으로 오픈된 actions
- npm에서 라이브러리를 가져다 쓰는 것처럼 공개적으로 정의되어있음
- Runners
- Job을 실행하는 것
- VM(machine) or Docker(container)
- 각각의 Job들은 독립적인 Runner에서 각각 실행됨
원본
https://www.youtube.com/watch?v=iLqGzEkusIw