김솔비 블로그
기술 블로그

[Part 1] Runner란 무엇인가?

1분 읽기시리즈 2/6

GitHub Actions의 Workflow(Build, Test, Deploy 등)를 실제로 실행하는 환경을 Runner라고 한다.

즉, GitHub가 Workflow를 감지하면 Runner가 작업을 받아 실행한다.

GitHub
   ↓
Workflow 실행
   ↓
Runner
   ↓
Build / Test / Deploy

Runner는 크게 두 가지 방식으로 나뉜다.

GitHub Hosted Runner

GitHub에서 제공하는 클라우드 실행 환경이다.

Workflow가 실행될 때마다 새로운 가상 머신이 생성되며, 작업이 끝나면 자동으로 제거된다.

특징

  • 별도 서버 구축 및 관리 불필요
  • GitHub에서 인프라 관리
  • 빠르게 도입 가능
  • 사내망 및 내부 시스템 접근이 어려움
GitHub
   ↓
Hosted Runner
   ↓
Build / Test / Deploy

Self-Hosted Runner

사용자가 직접 관리하는 서버 또는 PC에 Runner를 설치해 사용하는 방식이다.

실제 서버에서 Workflow가 실행되므로 내부 시스템 접근, Docker 제어, 파일 관리 등의 작업이 가능하다.

특징

  • 사내망 및 내부 시스템 접근 가능
  • Docker 및 서버 자원 직접 활용 가능
  • 빌드 캐시 유지 가능
  • 서버 운영 및 보안 관리 필요
GitHub
   ↓
Self-Hosted Runner
   ↓
Build / Test / Deploy

Hosted Runner vs Self-Hosted Runner

구분GitHub Hosted RunnerSelf-Hosted Runner
관리 주체GitHub사용자
서버 구축불필요필요
내부망 접근제한적가능
Docker 제어제한적가능
운영 부담낮음높음
추천 환경일반적인 CI/CD내부 시스템 연동, 서버 직접 제어가 필요할 때

프로젝트 요구사항에 따라 적절한 Runner를 선택해 사용하면 된다.