Runner 구성
GitLab CI/CD에서 러너는 .gitlab-ci.yml
에 정의된 코드를 실행합니다. 러너는 GitLab CI/CD의 코디네이터 API를 통해 CI Job을 선택하고, Job을 실행 한 다음, 결과를 GitLab 인스턴스로 다시 보내는 경량의 확장성이 뛰어난 에이전트입니다.
러너는 관리자가 생성하며 GitLab UI에 표시됩니다. 러너는 특정 프로젝트에 한정되거나 모든 프로젝트에서 사용할 수 있습니다.
러너 유형
GitLab UI에는 액세스 할 사용자에 따라 세 가지 유형의 러너가 있습니다.
- 공유 러너는 GitLab 인스턴스의 모든 그룹 및 프로젝트에서 사용할 수 있습니다.
- 그룹 러너는 그룹의 모든 프로젝트 와 하위 그룹에서 사용할 수 있습니다.
- 특정 러너는 특정 프로젝트와 연결됩니다. 일반적으로 특정 러너는 한 번에 하나의 프로젝트에 사용됩니다.
Shared runners
공유 러너는 GitLab 인스턴스의 모든 프로젝트에서 사용할 수 있습니다.
유사한 요구사항을 가진 여러 Job이 있는 경우 공유 러너를 사용합니다. 여러 프로젝트에 대해 여러 러너를 유휴 상태로 유지하는 대신 여러 프로젝트를 처리하는 러너를 몇 개 가질 수 있습니다.
GitLab의 자체 관리형 인스턴스를 사용하는 경우 :
- 관리자는 설명서에 따라 공유 러너를 설치하고 등록할 수 있습니다.
- 관리자는 각 그룹에 대해 최대 공유 러너 파이프라인 시간(분)을 구성할 수도 있습니다.
공유 러너가 Job를 선택하는 방법
공유 러너는 공정한 사용 대기열(queue)을 사용하여 Job을 처리합니다. 이 대기열은 프로젝트가 수백 개의 Job을 생성하고 사용 가능한 모든 공유 러너 리소스를 사용하는 것을 방지합니다.