Github Actions 속성들에 대해서 알아보기 이전에 우선 어떤 구조로 구성되어 있는지를 먼저 살펴보겠습니다.
깃헙 액션의 사용 목적은 빌드/테스트/패키지/릴리즈 와 같은 작업을 할 때, 쉘 명령어를 추가하여 내가 원하는 작업을 몇 개 더 실행하는 것입니다.
이 때, 내가 추가할 작업의 단위를 액션(Action)이라고 합니다. 액션은 또다른 액션을 포함할 수 있고, 단순히 쉘 명령어 한줄 일 수도 있습니다.
Action 1 - 시작
여러개의 액션을 하나의 그룹으로 묶어서 스텝(Step)이라고 부릅니다. 하나의 작업(Job)에 속해있는 스텝은 동일한 러너(Runner) 에서 동작하기 때문에 서로 데이터를 공유할 수 있습니다.
Step 1
- Action 1 - 시작
- Action 2 - 종료
여러개의 스텝을 그룹으로 묶어서 작업(Job)이라고 부릅니다. 스텝 안에 있는 액션은 순서대로 진행되는 반면, 작업은 여러개가 동시에 실행됩니다. 하지만, 옵션을 통해서 순차적으로 실행하도록 설정할 수 있습니다.
Job 1
- Step 1
-- Action 1 - 시작
-- Action 2 - 종료
이러한 작업이 모여서 하나의 워크플로우(Workflow)를 이루게 됩니다. 실제 오픈소스 프로젝트에서는 어떻게 워크플로우를 나누고 있는지 살펴보겠습니다. ci(빌드 및 배포), deploy-docs(가이드 문서 배포) ... 등 여러가지 워크플로우 파일을 정의해 두고 사용중인 것을 확인할 수 있습니다!
(나머지 워크플로우는 뭔지 모르겠어요 ;;)
러너(Runner)는 깃허브 러너 애플리케이션이 설치되어있는 서버입니다. 깃허브에서 제공하는 러너 서버 호스팅을 구매하여 사용할 수도 있고, 개인적으로 AWS와 같은 서버를 두고, 깃허브 러너 서버를 만들 수도 있습니다. 모든 작업(Job)은 이 러너에서 동작하게 됩니다.
깃허브에서는 무료로 깃허브 러너 애플리케이션 서버를 제공하고 있으니 워크플로우 설정 파일에서(.yml) 원하는 서버에 맞게 인스턴스 타입을 명시해 주면 이용이 가능합니다.
About GitHub-hosted runners - GitHub Docs
A GitHub-hosted runner is a virtual machine hosted by GitHub with the GitHub Actions runner application installed. GitHub offers runners with Linux, Windows, and macOS operating systems. When you use a GitHub-hosted runner, machine maintenance and upgrades
docs.github.com
만약 별도의 서버에서 깃허브 러너 애플리케이션을 설치하여 사용하기를 원하신다면, 운영체제의 제한이 있기 때문에 다음 링크에서 운영체제의 목록을 확인해 주시기 바랍니다.
About self-hosted runners - GitHub Docs
Self-hosted runners offer more control of hardware, operating system, and software tools than GitHub-hosted runners provide. With self-hosted runners, you can choose to create a custom hardware configuration with more processing power or memory to run larg
docs.github.com
[Github 액션 만들기] Github Actions 이란? (0) | 2021.07.10 |
---|