GitLab Runner vs GitHub Action 차이점
GitLab Runner
GitLab Runner는 GitLab.com (SaaS) 또는 self-hosted GitLab 인스턴스 모두와 연동될 수 있습니다.
GitLab Runner는 GitLab 8.0 (2015년 출시) 부터 사용되기 시작했습니다. GitLab Runner는 독립적으로 설치가능합니다.
앞서 알아보기 GitLab Runner와 GitHub Action의 차이점
항목 | GitLab Runner | GitHub Actions |
---|---|---|
소속 | GitLab 제품군 | GitHub 제품군 |
CI/CD 정의 파일 | .gitlab-ci.yml | .github/workflows/*.yml |
실행 엔진 | GitLab Runner (별도 설치 필요) | GitHub Actions Runner |
호스팅 방식 | Self-hosted GitLab에서는 반드시 별도 GitLab Runner 설치 필요 | GitHub Hosted Runner (기본 제공) - Self-hosted Runner도 설정 가능 |
Runner 설치 | 유저가 직접 설치 및 등록 필요 (self-managed 경우) |
기본 제공되며, self-hosted도 가능 |
Runner 유형 (Executor) | 다양: shell, docker, docker+machine, kubernetes, ssh, custom | 제한적: ubuntu-latest, windows-latest, macos-latest 또는 self-hosted 지정 |
종속성 | GitLab 서버 + Runner 필요 | GitHub만 있으면 작동 (Actions는 서버리스 구조처럼 작동) |
배포 대상 통합 | Kubernetes, AWS, GCP, SSH, Docker 등과 통합 쉬움 | AWS, Azure, GCP 등 다양한 공식 Action으로 통합 |
CI/CD as code | .gitlab-ci.yml 하나로 모든 파이프라인 정의 | 여러 .yml 파일로 워크플로우 분리 가능 |
에이전트 확장성 | 쿠버네티스에 GitLab Runner 자동 스케일링 가능 | self-hosted runner도 auto-scale 가능하지만 직접 구성해야 함 |