GitHub-hosted runner: GitHub에서 제공하는 서버에서 작업을 실행하는 방식. 사용자는 인프라를 관리할 필요 없이 자동으로 제공된 환경에서 빌드, 테스트, 배포 작업을 수행할 수 있다.
Self-hosted runner: 사용자가 직접 서버를 설정하고 관리하여 GitHub Actions의 작업을 실행하는 방식. 자신의 인프라에서 작업을 처리하므로 사용자 제어가 가능하지만 유지 관리와 리소스 관리는 사용자의 책임이 된다.
항목 | GitHub-hosted Runner | Self-hosted Runner |
---|---|---|
인프라 제공 및 관리 | GitHub에서 제공하는 인프라에서 자동 실행 | 사용자가 runner 서버를 지정하여 직접 서버를 설정 및 관리하여 실행 |
비용 | 제한된 무료 실행 시간 제공, 추가 리소스는 유료 플랜 필요 | GitHub Actions 사용 비용 없음, 서버 유지 비용은 사용자 부담 |
커스터마이징 | 제한적, 표준화된 GitHub 환경에서 실행 | 사용자가 런너 환경을 자유롭게 설정 가능 |
성능 및 리소스 제한 | GitHub이 제공하는 기본 리소스로 제한됨 | 사용자가 필요에 맞춰 리소스(예: CPU, 메모리) 설정 가능 |
네트워크 접근성 | 고정 IP 주소 제공하지 않음, GitHub IP 범위로 설정 필요 | 내부 네트워크 자원에 자유롭게 접근 가능 |
운영 체제 선택 | Linux, Windows, macOS 선택 가능 | 사용자가 직접 설정한 운영 체제에서 실행 |
유지 보수 | GitHub이 런너 인프라 관리 및 유지 보수 | 사용자 직접 인프라 관리 및 유지 보수 필요 |
네트워크 속도 및 성능 | GitHub의 네트워크 및 인프라 성능에 의존 | 사용자가 설정한 네트워크 성능에 따라 다름 |
IP 주소 고정 여부 | 고정되지 않음, IP 범위는 제공 | 사용자가 설정한 고정 IP 가능 |
보안 제어 | GitHub이 관리하는 보안 정책에 따름 | 사용자가 서버의 보안 정책 및 접근 제어 가능 |
[CI/CD] gitHub Action으로 CI/CD 구축하고 인간젠킨스 탈출하다! (feat. Self-hosted runner)