쿼카러버의 기술 블로그
[Github Action] Github Action 간단 시리즈 1탄 : Core 개념 (Workflow, Event, Job, steps, runner, step, action 개념 쉽게 정리) 본문
[Infra & Server]/데브옵스
[Github Action] Github Action 간단 시리즈 1탄 : Core 개념 (Workflow, Event, Job, steps, runner, step, action 개념 쉽게 정리)
quokkalover 2022. 1. 20. 20:53
앞으로 간단하게 Github Action을 사용해서 CI/CD를 구현해보려고 한다.
시작하기에 앞서 Github Action의 Core개념을 익혀보고 다음 시리즈에서는 실제로 Github Action을 실행시켜보도록 하겠다.
Core
Workflow
- 최상위 개념
- 여러 개의
Job
으로 구성되고,Event
에 의해 트리거될 수 있는 자동화된 프로세스 Workflow
파일은 YAML으로 작성되고, Github Repository의 .github/worflows폴더 아래에 저장된다.
Event
Workflow
를 Trigger하는 특정 활동이나 규칙을 의미한다.- 특정 브랜치로 push
- 특정 브랜치로 Pull Request
- 특정 시간대에 반복 (Cron)
- Release
- Webhook이나 API를 통한 실행
Job
- 하나의 Workflow는 한 개 이상의
job
을 가질 수 있다. Job
은 명령어들의 집합이고,workflow
가 trigger되면 실행된다.Job
은 여러step
으로 구성되고, 가상 환경의 인스턴스에서 실행된다.- 다른
Job
에 의존관계를 가지지 않고, 독립적으로 병렬 실행 또한 가능하다.
Runner
- Github Action Runner 어플리케이션이 설치된 머신으로, Workflow 및 Job이 실행될 인스턴스를 의미한다.
- Github에서 호스팅해주는 Github-hosted runner
- Self Hosted runner로 나눌 수 있다.
- Adding self-hosted runners - GitHub Docs
- Github-hosted runner는 Azure의 Stndard_DS2_v2로 vCPU 2, 메모리 7GB, 임시 스토리지는 14GB다.
Step
- Task들의 집합으로, 커맨드를 날리거나
action
을 실행할 수 있다.
Action
- Workflow의 가장 작은 블럭이다.
- Job을 만들기 위해서 Step들을 연결할 수 있다.
- 재사용이 가능하고, 개인적으로 Action을 사용할 수도 있고, Marketplace에 있는 공용 Action도 사용할 수 있다.
참고자료
Github Flow with Github action ⚙
'[Infra & Server] > 데브옵스' 카테고리의 다른 글
[Ansible] Ansible 시리즈 1탄 - Ansible 기본 개념 및 설치 튜토리얼 (2) | 2022.08.10 |
---|---|
[쿠버네티스] Helm이란? Helm 차트란? (11) | 2022.05.18 |
[Github Action] Github Action 간단 시리즈 3탄 : Secret 및 Environment적용해보기 (0) | 2022.01.20 |
[Github Action] Github Action 간단 시리즈 2탄 : 간단하게 github action으로 CI 구현해보기 (0) | 2022.01.20 |
docker-compose restart (0) | 2021.12.12 |
Comments