[Part 1] Runner란 무엇인가?

GitHub Actions의 Workflow(Build, Test, Deploy 등)를 실제로 실행하는 환경을 Runner라고 한다.
즉, GitHub가 Workflow를 감지하면 Runner가 작업을 받아 실행한다.
GitHub
↓
Workflow 실행
↓
Runner
↓
Build / Test / DeployRunner는 크게 두 가지 방식으로 나뉜다.
GitHub Hosted Runner
GitHub에서 제공하는 클라우드 실행 환경이다.
Workflow가 실행될 때마다 새로운 가상 머신이 생성되며, 작업이 끝나면 자동으로 제거된다.
특징
- 별도 서버 구축 및 관리 불필요
- GitHub에서 인프라 관리
- 빠르게 도입 가능
- 사내망 및 내부 시스템 접근이 어려움
GitHub
↓
Hosted Runner
↓
Build / Test / DeploySelf-Hosted Runner
사용자가 직접 관리하는 서버 또는 PC에 Runner를 설치해 사용하는 방식이다.
실제 서버에서 Workflow가 실행되므로 내부 시스템 접근, Docker 제어, 파일 관리 등의 작업이 가능하다.
특징
- 사내망 및 내부 시스템 접근 가능
- Docker 및 서버 자원 직접 활용 가능
- 빌드 캐시 유지 가능
- 서버 운영 및 보안 관리 필요
GitHub
↓
Self-Hosted Runner
↓
Build / Test / DeployHosted Runner vs Self-Hosted Runner
| 구분 | GitHub Hosted Runner | Self-Hosted Runner |
|---|---|---|
| 관리 주체 | GitHub | 사용자 |
| 서버 구축 | 불필요 | 필요 |
| 내부망 접근 | 제한적 | 가능 |
| Docker 제어 | 제한적 | 가능 |
| 운영 부담 | 낮음 | 높음 |
| 추천 환경 | 일반적인 CI/CD | 내부 시스템 연동, 서버 직접 제어가 필요할 때 |
프로젝트 요구사항에 따라 적절한 Runner를 선택해 사용하면 된다.