반응형
Github Action 정리.
Github Action은 github의 저장소에서 바로 자동화 및 테스트 등을 실행할 수 있습니다. 다시 말해 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼입니다. Github 저장소에 대한 모든 Pull Request 또는 Merge 된 커밋에 대해 빌드 및 테스트하는 워크플로우를 생성하거나 프로덕션으로 배포할 수도 있습니다.
Github Action Component
Github Action의 워크플로우를 구성하는 다양한 컴포넌트가 존재합니다. 구성할 수 있는 각 컴포넌트를 간략히 정리합니다.
1) Workflow
- Github Action 컴포넌트에서 최상위 개념입니다.
- 여러 개의 Job을 가질 수 있습니다. 즉, 하나 이상의 Job을 실행하도록 구성가능한 자동화 프로세스입니다.
- YAML로 정의되며 저장소의 이벤트에 의해 수행되거나 정의된 일정 또는 수동으로 수행될 수 있습니다.
2) Event
- Workflow 실행을 트리거하는 저장소의 특정활동입니다. (Pull Request, Push 등)
- Github Docs - Event의 종류
3) Jobs
- Job 은 step의 집합입니다. (step은 밑에서 자세히 설명드릴게요)
- step은 실행될 script 이거나 실행될 action입니다. Job 내에 정의되는 step들은 순차적으로 실행됩니다.
- Workflow내부에 정의되는 Job들은 기본적으로 병렬로 동시 실행을 원칙으로 합니다.
- Job 간의 종속성을 설정하여 순차적으로 실행되게 할 수 있습니다.
4) Step
- step은 실행될 수 있는 스크립트 이거나 액션입니다.
- Job 내에 선언된 step은 순차적으로 실행되며 서로 종속적입니다.
- 각 step은 동일한 Runner에서 실행되므로 데이터를 공유할 수 있습니다.
5) Actions
- action은 복잡하지만 반복적으로 수행되는 작업을 수행하는 Github Action 플랫폼의 어플리케이션입니다.
- 원하는 Action을 직접 작성할 수도 있지만, Market Place에서 사용할 작업을 찾아 쉽게 사용할 수 있습니다. (개인적으로 가장 큰 장점이라고 생각합니다.)
6) Runner
- Workflow가 실행되는 서버입니다.
- 각 Runner는 한번에 하나의 작업을 실행할 수 있습니다.
- 제공 Runner : Ubuntu, Windows, mac OS
- 제공되는 Runner외에 사용자가 직접 세팅한 Runner에서 호스팅 할 수도 있습니다.
Reference
반응형
'ETC' 카테고리의 다른 글
Github Action - GameCI 이용하여 Unity 프로젝트 빌드하기 (0) | 2022.02.05 |
---|---|
Github Action #2 - 예제 분석하기 (0) | 2022.01.30 |
개발자가 즐길 수 있는 영상 리스트 (0) | 2022.01.15 |
RSS 에 대해서 (1) | 2018.11.15 |
인공지능과 컴퓨터 그래픽스의 조합 (0) | 2018.06.01 |