Runner
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
Runner는 파이프라인에서 GitLab CI/CD 작업을 실행하기 위해 GitLab Runner 애플리케이션을 실행하는 에이전트입니다. 다음은 runner가 작동하는 방식의 기본 워크플로입니다: 자세한 내용은 Runner 실행 흐름을 참조하세요.
Runner는 파이프라인에서 GitLab CI/CD 작업을 실행하기 위해 GitLab Runner 애플리케이션을 실행하는 에이전트입니다.
.gitlab-ci.yml 파일에 정의된 빌드, 테스트, 배포 및 기타 CI/CD 작업을 실행하는 역할을 합니다.
Runner 실행 흐름#
다음은 runner가 작동하는 방식의 기본 워크플로입니다:
- 먼저 runner를 GitLab에 등록해야 하며, 이를 통해 runner와 GitLab 간의 지속적인 연결이 설정됩니다.
- 파이프라인이 트리거되면 GitLab은 등록된 runner가 작업을 사용할 수 있도록 합니다.
- 일치하는 runner가 작업을 선택하여 runner당 하나의 작업을 실행합니다.
- 결과가 실시간으로 GitLab에 보고됩니다.
자세한 내용은 Runner 실행 흐름을 참조하세요.
Runner 작업 스케줄링 및 실행#
CI/CD 작업을 실행해야 할 때 GitLab은 .gitlab-ci.yml 파일에 정의된 작업을 기반으로 작업을 만듭니다.
작업은 큐에 배치됩니다. GitLab은 다음과 일치하는 사용 가능한 runner를 확인합니다:
- Runner 태그
- Runner 유형 (공유 또는 그룹 등)
- Runner 상태 및 용량
- 필수 기능
할당된 runner가 작업 세부 정보를 받습니다. Runner는 환경을 준비하고 .gitlab-ci.yml 파일에 지정된 작업 명령어를 실행합니다.
Runner 카테고리#
CI/CD 작업을 실행할 runner를 결정할 때 다음을 선택할 수 있습니다:
- GitLab.com 또는 GitLab Dedicated 사용자를 위한 GitLab 호스팅 runner.
- 모든 GitLab 설치를 위한 자체 관리 runner.
Runner는 그룹, 프로젝트 또는 인스턴스 runner가 될 수 있습니다. GitLab 호스팅 runner는 인스턴스 runner입니다.
GitLab 호스팅 runner#
GitLab 호스팅 runner는:
- GitLab에서 완전히 관리됩니다.
- 설정 없이 즉시 사용 가능합니다.
- 각 작업마다 새로운 VM에서 실행됩니다.
- Linux, Windows, macOS 옵션을 포함합니다.
- 수요에 따라 자동으로 확장됩니다.
다음과 같은 경우 GitLab 호스팅 runner를 선택하세요:
- 유지 관리가 없는 CI/CD를 원할 때.
- 인프라 관리 없이 빠른 설정이 필요할 때.
- 실행 간 격리가 필요할 때.
- 표준 빌드 환경에서 작업할 때.
- GitLab.com 또는 GitLab Dedicated를 사용할 때.
자체 관리 runner#
자체 관리 runner는:
- 직접 설치하고 관리합니다.
- 자체 인프라에서 실행됩니다.
- 필요에 맞게 커스터마이즈할 수 있습니다.
- 다양한 executor를 지원합니다 (Shell, Docker, Kubernetes 포함).
- 특정 프로젝트 또는 그룹으로 공유하거나 설정할 수 있습니다.
다음과 같은 경우 자체 관리 runner를 선택하세요:
- 커스텀 설정이 필요할 때.
- 비공개 네트워크에서 작업을 실행하려 할 때.
- 특정 보안 제어가 필요할 때.
- 프로젝트 또는 그룹 runner가 필요할 때.
- runner 재사용으로 속도를 최적화하려 할 때.
- 자체 인프라를 관리하려 할 때.
