쿼카러버의 기술 블로그

[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-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 ⚙

Events that trigger workflows - GitHub Docs

Github Action 사용법 정리

Comments