러너 관리
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitLab Runner에는 다음과 같은 유형의 러너가 있으며, 접근 권한을 부여할 대상에 따라 사용 가능합니다: 인스턴스 러너는 GitLab 인스턴스의 모든 프로젝트에서 사용할 수 있습니다. 비슷한 요구사항을 가진 여러 잡이 있을 때 인스턴스 러너를 사용합니다.
GitLab Runner에는 다음과 같은 유형의 러너가 있으며, 접근 권한을 부여할 대상에 따라 사용 가능합니다:
- 인스턴스 러너는 GitLab 인스턴스의 모든 그룹 및 프로젝트에서 사용할 수 있습니다.
- 그룹 러너는 그룹의 모든 프로젝트 및 서브그룹에서 사용할 수 있습니다.
- 프로젝트 러너는 특정 프로젝트와 연결됩니다. 일반적으로 프로젝트 러너는 한 번에 하나의 프로젝트에서 사용됩니다.
인스턴스 러너#
인스턴스 러너는 GitLab 인스턴스의 모든 프로젝트에서 사용할 수 있습니다.
비슷한 요구사항을 가진 여러 잡이 있을 때 인스턴스 러너를 사용합니다. 많은 프로젝트를 위해 여러 러너가 유휴 상태로 있는 대신, 여러 프로젝트를 처리하는 몇 개의 러너를 가질 수 있습니다.
GitLab Self-Managed를 사용하는 경우, 관리자는:
- GitLab Runner 설치 및 인스턴스 러너 등록이 가능합니다.
- 각 그룹의 최대 인스턴스 러너 컴퓨팅 분을 구성할 수 있습니다.
GitLab.com을 사용하는 경우:
- GitLab이 유지 관리하는 인스턴스 러너 목록에서 선택할 수 있습니다.
- 인스턴스 러너는 계정에 포함된 컴퓨팅 분을 소비합니다.
러너 인증 토큰으로 인스턴스 러너 만들기#
히스토리
사전 조건:
- 관리자여야 합니다.
러너를 만들면 등록에 사용하는 러너 인증 토큰이 할당됩니다. 러너는 잡 큐에서 잡을 가져올 때 GitLab 인증에 이 토큰을 사용합니다.
인스턴스 러너를 만들려면:
- 오른쪽 상단 모서리에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 CI/CD > Runners를 선택합니다.
- Create instance runner를 선택합니다.
- GitLab Runner가 설치된 운영 체제를 선택합니다.
- Tags 섹션의 Tags 필드에 러너가 실행할 수 있는 잡을 지정하는 잡 태그를 입력합니다. 이 러너에 대한 잡 태그가 없는 경우 Run untagged를 선택합니다.
- 선택 사항. Runner description 필드에 GitLab에 표시될 러너 설명을 추가합니다.
- 선택 사항. Configuration 섹션에 추가 구성을 추가합니다.
- Create runner를 선택합니다.
- 명령줄에서 러너를 등록하려면 화면의 지시를 따릅니다. 명령줄에서 묻는 질문:
GitLab instance URL의 경우, GitLab 인스턴스의 URL을 사용합니다. 예를 들어, 프로젝트가gitlab.example.com/yourname/yourproject에서 호스팅되는 경우, GitLab 인스턴스 URL은https://gitlab.example.com입니다.executor의 경우, 실행기 유형을 입력합니다. 실행기는 러너가 잡을 실행하는 환경입니다.
API를 사용하여 러너를 만들 수도 있습니다.
러너 인증 토큰은 등록 중에 제한된 시간 동안 UI에 표시됩니다. 러너를 등록한 후 인증 토큰은 config.toml에 저장됩니다.
등록 토큰으로 인스턴스 러너 만들기 (더 이상 사용되지 않음)#
러너 등록 토큰 전달 옵션과 특정 구성 인수에 대한 지원은 레거시로 간주되어 권장되지 않습니다. 러너 생성 워크플로우를 사용하여 러너를 등록할 인증 토큰을 생성합니다. 이 프로세스는 러너 소유권의 완전한 추적 가능성을 제공하고 러너 플릿의 보안을 강화합니다. 자세한 정보는 새 러너 등록 워크플로우로 마이그레이션을 참조하십시오.
사전 조건:
- 러너 등록 토큰은 Admin 영역에서 활성화되어야 합니다.
- 관리자여야 합니다.
인스턴스 러너를 만들려면:
- 오른쪽 상단 모서리에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 CI/CD > Runners를 선택합니다.
- Register an instance runner를 선택합니다.
- 등록 토큰을 복사합니다.
- 러너를 등록합니다.
인스턴스 러너 일시 중지 또는 재개#
사전 조건:
- 관리자여야 합니다.
GitLab 인스턴스의 그룹 및 프로젝트에서 잡을 수락하지 않도록 러너를 일시 중지할 수 있습니다.
- 오른쪽 상단 모서리에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 CI/CD > Runners를 선택합니다.
- 검색 상자에 러너 설명을 입력하거나 러너 목록을 필터링합니다.
- 러너 목록에서 러너 오른쪽:
- 러너를 일시 중지하려면 Pause ([pause])를 선택합니다.
- 러너를 재개하려면 Resume ([play])를 선택합니다.
인스턴스 러너 삭제#
사전 조건:
- 관리자여야 합니다.
인스턴스 러너를 삭제하면 GitLab 인스턴스에서 영구적으로 삭제되어 그룹 및 프로젝트에서 더 이상 사용할 수 없습니다. 러너가 잡을 수락하지 않도록 일시적으로 중지하려면 러너를 일시 중지할 수 있습니다.
단일 또는 여러 인스턴스 러너를 삭제하려면:
- 오른쪽 상단 모서리에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 CI/CD > Runners를 선택합니다.
- 검색 상자에 러너 설명을 입력하거나 러너 목록을 필터링합니다.
- 인스턴스 러너를 삭제합니다:
- 단일 러너를 삭제하려면 러너 옆에서 Delete runner ([remove])를 선택합니다.
- 여러 인스턴스 러너를 삭제하려면 각 러너의 체크박스를 선택하고 Delete selected를 선택합니다.
- 모든 러너를 삭제하려면 러너 목록 상단의 체크박스를 선택하고 Delete selected를 선택합니다.
- Permanently delete runner를 선택합니다.
프로젝트에 인스턴스 러너 활성화#
GitLab.com에서는 인스턴스 러너가 모든 프로젝트에서 기본적으로 활성화됩니다.
GitLab Self-Managed에서는 관리자가 모든 새 프로젝트에 대해 활성화할 수 있습니다.
기존 프로젝트의 경우, 관리자가 설치하고 등록해야 합니다.
프로젝트에 인스턴스 러너를 활성화하려면:
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
- Runners를 펼칩니다.
- Turn on instance runners for this project 토글을 활성화합니다.
그룹에 인스턴스 러너 활성화#
그룹에 인스턴스 러너를 활성화하려면:
- 상단 표시줄에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
- Runners를 펼칩니다.
- Turn on instance runners for this group 토글을 활성화합니다.
프로젝트에 인스턴스 러너 비활성화#
개별 프로젝트 또는 그룹에 대해 인스턴스 러너를 비활성화할 수 있습니다. 프로젝트 또는 그룹의 소유자 역할이 있어야 합니다.
프로젝트에 인스턴스 러너를 비활성화하려면:
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
- Runners를 펼칩니다.
- Instance runners 영역에서 Turn on runners for this project 토글을 끕니다.
인스턴스 러너는 다음 경우에 프로젝트에 대해 자동으로 비활성화됩니다:
- 상위 그룹의 인스턴스 러너 설정이 비활성화된 경우, 그리고
- 프로젝트에서 이 설정을 재정의하는 것이 허용되지 않는 경우.
그룹에 인스턴스 러너 비활성화#
그룹에 인스턴스 러너를 비활성화하려면:
- 상단 표시줄에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
- Runners를 펼칩니다.
- Enable instance runners for this group 토글을 끕니다.
- 선택 사항. 개별 프로젝트 또는 서브그룹에서 인스턴스 러너를 활성화할 수 있도록 허용하려면 Allow projects and subgroups to override the group setting을 선택합니다.
인스턴스 러너가 잡을 선택하는 방법#
인스턴스 러너는 공정 사용 큐를 사용하여 잡을 처리합니다. 이 큐는 프로젝트가 수백 개의 잡을 만들고 사용 가능한 인스턴스 러너 리소스를 모두 사용하는 것을 방지합니다.
공정 사용 큐 알고리즘은 인스턴스 러너에서 이미 실행 중인 잡의 수가 가장 적은 프로젝트를 기준으로 잡을 할당합니다.
예를 들어, 다음 잡이 큐에 있는 경우:
- 프로젝트 1의 잡 1
- 프로젝트 1의 잡 2
- 프로젝트 1의 잡 3
- 프로젝트 2의 잡 4
- 프로젝트 2의 잡 5
- 프로젝트 3의 잡 6
여러 CI/CD 잡이 동시에 실행되는 경우, 공정 사용 알고리즘은 다음 순서로 잡을 할당합니다:
- 잡 1이 첫 번째입니다. 실행 중인 잡이 없는 프로젝트(즉, 모든 프로젝트)에서 가장 낮은 잡 번호를 가지고 있기 때문입니다.
- 잡 4가 다음입니다. 실행 중인 잡이 없는 프로젝트(프로젝트 1은 실행 중인 잡이 있음)에서 가장 낮은 잡 번호가 이제 4이기 때문입니다.
- 잡 6이 다음입니다. 실행 중인 잡이 없는 프로젝트(프로젝트 1과 2는 실행 중인 잡이 있음)에서 가장 낮은 잡 번호가 이제 6이기 때문입니다.
- 잡 2가 다음입니다. 실행 중인 잡의 수가 가장 적은 프로젝트(각각 1개)에서 가장 낮은 잡 번호이기 때문입니다.
- 잡 5가 다음입니다. 프로젝트 1은 이제 2개의 잡이 실행 중이고 잡 5는 프로젝트 2와 3 사이에서 가장 낮은 잡 번호이기 때문입니다.
- 마지막으로 잡 3은 남은 유일한 잡이기 때문입니다.
한 번에 하나의 잡만 실행되는 경우, 공정 사용 알고리즘은 다음 순서로 잡을 할당합니다:
- 잡 1이 먼저 선택됩니다. 실행 중인 잡이 없는 프로젝트(즉, 모든 프로젝트)에서 가장 낮은 잡 번호를 가지고 있기 때문입니다.
- 잡 1이 완료됩니다.
- 잡 2가 다음입니다. 잡 1이 완료되었으므로 모든 프로젝트의 실행 중인 잡이 다시 0이 되었고, 2가 사용 가능한 가장 낮은 잡 번호이기 때문입니다.
- 잡 4가 다음입니다. 프로젝트 1이 잡을 실행 중이므로, 4는 실행 중인 잡이 없는 프로젝트(프로젝트 2와 3)에서 가장 낮은 번호이기 때문입니다.
- 잡 4가 완료됩니다.
- 잡 5가 다음입니다. 잡 4가 완료되었으므로 프로젝트 2에 다시 실행 중인 잡이 없기 때문입니다.
- 잡 6이 다음입니다. 프로젝트 3이 실행 중인 잡이 없는 유일한 프로젝트이기 때문입니다.
- 마지막으로 잡 3은 남은 유일한 잡이기 때문입니다.
그룹 러너#
그룹의 모든 프로젝트에서 러너 집합에 접근하려면 그룹 러너를 사용합니다.
그룹 러너는 선입선출(FIFO) 큐를 사용하여 잡을 처리합니다.
러너 인증 토큰으로 그룹 러너 만들기#
히스토리
사전 조건:
- 그룹의 소유자 역할이 있어야 합니다.
GitLab Self-Managed 또는 GitLab.com을 위한 그룹 러너를 만들 수 있습니다. 러너를 만들면 등록에 사용하는 러너 인증 토큰이 할당됩니다. 러너는 잡 큐에서 잡을 가져올 때 GitLab 인증에 이 토큰을 사용합니다.
그룹 러너를 만들려면:
- 상단 표시줄에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Build > Runners를 선택합니다.
- Create group runner를 선택합니다.
- Tags 섹션의 Tags 필드에 러너가 실행할 수 있는 잡을 지정하는 잡 태그를 입력합니다. 이 러너에 대한 잡 태그가 없는 경우 Run untagged를 선택합니다.
- 선택 사항. Runner description 필드에 GitLab에 표시될 러너 설명을 추가합니다.
- 선택 사항. Configuration 섹션에 추가 구성을 추가합니다.
- Create runner를 선택합니다.
- GitLab Runner가 설치된 플랫폼을 선택합니다.
- 화면의 지시를 완료합니다:
- Linux, macOS, Windows의 경우, 명령줄에서 묻는 질문:
GitLab instance URL의 경우, GitLab 인스턴스의 URL을 사용합니다. 예를 들어, 프로젝트가gitlab.example.com/yourname/yourproject에서 호스팅되는 경우, GitLab 인스턴스 URL은https://gitlab.example.com입니다.executor의 경우, 실행기 유형을 입력합니다. 실행기는 러너가 잡을 실행하는 환경입니다.
- Google Cloud의 경우, Google Cloud에서 러너 프로비저닝을 참조하십시오.
- Linux, macOS, Windows의 경우, 명령줄에서 묻는 질문:
API를 사용하여 러너를 만들 수도 있습니다.
러너 인증 토큰은 등록 중에 짧은 시간 동안만 UI에 표시됩니다.
등록 토큰으로 그룹 러너 만들기 (더 이상 사용되지 않음)#
히스토리
- 경로가 Settings > CI/CD > Runners에서 변경되었습니다.
러너 등록 토큰 전달 옵션과 특정 구성 인수에 대한 지원은 레거시로 간주되어 권장되지 않습니다. 러너 생성 워크플로우를 사용하여 러너를 등록할 인증 토큰을 생성합니다. 이 프로세스는 러너 소유권의 완전한 추적 가능성을 제공하고 러너 플릿의 보안을 강화합니다. 자세한 정보는 새 러너 등록 워크플로우로 마이그레이션을 참조하십시오.
사전 조건:
- 최상위 그룹에서 러너 등록 토큰이 활성화되어야 합니다.
- 그룹의 소유자 역할이 있어야 합니다.
그룹 러너를 만들려면:
- GitLab Runner를 설치합니다.
- 상단 표시줄에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Build > Runners를 선택합니다.
- 오른쪽 상단 모서리에서 Register a group runner를 선택합니다.
- Show runner installation and registration instructions를 선택합니다. 이 지침에는 러너를 등록하기 위한 토큰, URL 및 명령이 포함됩니다.
또는 등록 토큰을 복사하고 러너를 등록하는 방법에 대한 문서를 따를 수 있습니다.
그룹 러너 보기#
히스토리
- 유지 관리자 역할의 사용자가 그룹 러너를 볼 수 있는 기능이 GitLab 16.4에서 도입.
사전 조건:
- 그룹의 유지 관리자 또는 소유자 역할이 있어야 합니다.
그룹 및 해당 서브그룹과 프로젝트의 모든 러너를 볼 수 있습니다. GitLab Self-Managed 또는 GitLab.com에서 이 작업을 수행할 수 있습니다.
- 상단 표시줄에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Build > Runners를 선택합니다.
상속된 그룹 러너만 표시하도록 필터링#
목록의 모든 러너를 표시하거나 인스턴스 또는 다른 그룹에서 상속된 러너만 표시하도록 선택할 수 있습니다.
기본적으로 상속된 러너만 표시됩니다.
인스턴스 러너 및 다른 그룹의 러너를 포함하여 인스턴스에서 사용 가능한 모든 러너를 표시하려면:
- 상단 표시줄에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Build > Runners를 선택합니다.
- 목록 위에서 Show only inherited 토글을 끕니다.
그룹 러너 일시 중지 또는 재개#
사전 조건:
- 관리자이거나 그룹의 소유자 역할이 있어야 합니다.
GitLab 인스턴스의 서브그룹 및 프로젝트에서 잡을 수락하지 않도록 러너를 일시 중지할 수 있습니다. 여러 프로젝트에서 사용되는 그룹 러너를 일시 중지하면 러너는 모든 프로젝트에 대해 일시 중지됩니다.
- 상단 표시줄에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Build > Runners를 선택합니다.
- 검색 상자에 러너 설명을 입력하거나 러너 목록을 필터링합니다.
- 러너 목록에서 러너 오른쪽:
- 러너를 일시 중지하려면 Pause ([pause])를 선택합니다.
- 러너를 재개하려면 Resume ([play])를 선택합니다.
그룹 러너 삭제#
히스토리
- 여러 러너 삭제가 GitLab 15.6에서 도입.
사전 조건:
- 관리자이거나 그룹의 소유자 역할이 있어야 합니다.
그룹 러너를 삭제하면 GitLab 인스턴스에서 영구적으로 삭제되어 서브그룹 및 프로젝트에서 더 이상 사용할 수 없습니다. 러너가 잡을 수락하지 않도록 일시적으로 중지하려면 러너를 일시 중지할 수 있습니다.
단일 또는 여러 그룹 러너를 삭제하려면:
- 상단 표시줄에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Build > Runners를 선택합니다.
- 검색 상자에 러너 설명을 입력하거나 러너 목록을 필터링합니다.
- 그룹 러너를 삭제합니다:
- 단일 러너를 삭제하려면 러너 옆에서 Delete runner ([remove])를 선택합니다.
- 여러 인스턴스 러너를 삭제하려면 각 러너의 체크박스를 선택하고 Delete selected를 선택합니다.
- 모든 러너를 삭제하려면 러너 목록 상단의 체크박스를 선택하고 Delete selected를 선택합니다.
- Permanently delete runner를 선택합니다.
오래된 그룹 러너 정리#
히스토리
- GitLab 15.1에서 도입.
사전 조건:
- 그룹의 소유자 역할이 있어야 합니다.
3개월 이상 비활성 상태인 그룹 러너를 정리할 수 있습니다.
그룹 러너는 특정 그룹에서 만들어진 러너입니다.
- 상단 표시줄에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
- Runners를 펼칩니다.
- Enable stale runner cleanup 토글을 활성화합니다.
오래된 러너 정리 로그 보기#
Sidekiq 로그를 확인하여 정리 결과를 볼 수 있습니다. Kibana에서 다음 쿼리를 사용할 수 있습니다:
{
"query": {
"match_phrase": {
"json.class.keyword": "Ci::Runners::StaleGroupRunnersPruneCronWorker"
}
}
}
오래된 러너가 제거된 항목을 필터링합니다:
{
"query": {
"range": {
"json.extra.ci_runners_stale_group_runners_prune_cron_worker.total_pruned": {
"gte": 1,
"lt": null
}
}
}
}
프로젝트 러너#
특정 프로젝트에 러너를 사용하려면 프로젝트 러너를 사용합니다. 예를 들어, 다음과 같은 경우:
- 자격 증명이 필요한 배포 잡과 같은 특정 요구사항을 가진 잡이 있는 경우.
- 다른 러너와 분리됨으로써 이점을 얻을 수 있는 CI 활동이 많은 프로젝트.
프로젝트 러너를 여러 프로젝트에서 사용하도록 설정할 수 있습니다. 프로젝트 러너는 각 프로젝트에 대해 명시적으로 활성화되어야 합니다.
프로젝트 러너는 선입선출(FIFO) 큐를 사용하여 잡을 처리합니다.
프로젝트 러너는 포크된 프로젝트에서 자동으로 인스턴스화되지 않습니다. 포크는 복제된 저장소의 CI/CD 설정을 복사합니다.
프로젝트 러너 소유권#
러너가 프로젝트에 처음 연결되면 해당 프로젝트가 러너의 소유자가 됩니다.
소유자 프로젝트를 삭제하면:
- GitLab은 러너를 공유하는 다른 모든 프로젝트를 찾습니다.
- GitLab은 가장 오래된 연결을 가진 프로젝트에 소유권을 할당합니다.
- 다른 프로젝트가 러너를 공유하지 않으면 GitLab은 러너를 자동으로 삭제합니다.
소유자 프로젝트에서 러너 할당을 해제할 수 없습니다. 대신 러너를 삭제하십시오.
러너 인증 토큰으로 프로젝트 러너 만들기#
히스토리
사전 조건:
- 프로젝트의 유지 관리자 역할이 있어야 합니다.
GitLab Self-Managed 또는 GitLab.com을 위한 프로젝트 러너를 만들 수 있습니다. 러너를 만들면 러너를 등록하는 데 사용하는 러너 인증 토큰이 할당됩니다. 러너는 잡 큐에서 잡을 가져올 때 GitLab 인증에 이 토큰을 사용합니다.
프로젝트 러너를 만들려면:
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
- Runners 섹션을 펼칩니다.
- Create project runner를 선택합니다.
- GitLab Runner가 설치된 운영 체제를 선택합니다.
- Tags 섹션의 Tags 필드에 러너가 실행할 수 있는 잡을 지정하는 잡 태그를 입력합니다. 이 러너에 대한 잡 태그가 없는 경우 Run untagged를 선택합니다.
- 선택 사항. Runner description 필드에 GitLab에 표시될 러너 설명을 추가합니다.
- 선택 사항. Configuration 섹션에 추가 구성을 추가합니다.
- Create runner를 선택합니다.
- GitLab Runner가 설치된 플랫폼을 선택합니다.
- 화면의 지시를 완료합니다:
- Linux, macOS, Windows의 경우, 명령줄에서 묻는 질문:
GitLab instance URL의 경우, GitLab 인스턴스의 URL을 사용합니다. 예를 들어, 프로젝트가gitlab.example.com/yourname/yourproject에서 호스팅되는 경우, GitLab 인스턴스 URL은https://gitlab.example.com입니다.executor의 경우, 실행기 유형을 입력합니다. 실행기는 러너가 잡을 실행하는 환경입니다.
- Google Cloud의 경우, Google Cloud에서 러너 프로비저닝을 참조하십시오.
- Linux, macOS, Windows의 경우, 명령줄에서 묻는 질문:
API를 사용하여 러너를 만들 수도 있습니다.
러너 인증 토큰은 등록 중에 짧은 시간 동안만 UI에 표시됩니다.
등록 토큰으로 프로젝트 러너 만들기 (더 이상 사용되지 않음)#
러너 등록 토큰 전달 옵션과 특정 구성 인수에 대한 지원은 레거시로 간주되어 권장되지 않습니다. 러너 생성 워크플로우를 사용하여 러너를 등록할 인증 토큰을 생성합니다. 이 프로세스는 러너 소유권의 완전한 추적 가능성을 제공하고 러너 플릿의 보안을 강화합니다. 자세한 정보는 새 러너 등록 워크플로우로 마이그레이션을 참조하십시오.
사전 조건:
- 최상위 그룹에서 러너 등록 토큰이 활성화되어야 합니다.
- 프로젝트의 유지 관리자 또는 소유자 역할이 있어야 합니다.
프로젝트 러너를 만들려면:
- GitLab Runner를 설치합니다.
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
- Runners를 펼칩니다.
- Project runners 섹션에서 URL과 토큰을 확인합니다.
- 러너를 등록합니다.
이제 러너가 프로젝트에 대해 활성화됩니다.
프로젝트 러너 일시 중지 또는 재개#
사전 조건:
- 관리자이거나 프로젝트의 유지 관리자 역할이 있어야 합니다.
GitLab 인스턴스에서 할당된 프로젝트에서 잡을 수락하지 않도록 프로젝트 러너를 일시 중지할 수 있습니다.
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
- Runners를 펼칩니다.
- Assigned project runners 섹션에서 러너를 찾습니다.
- 러너 오른쪽:
- 러너를 일시 중지하려면 Pause ([pause])를 선택한 다음 Pause를 선택합니다.
- 러너를 재개하려면 Resume ([play])를 선택합니다.
프로젝트 러너 삭제#
사전 조건:
- 관리자이거나 프로젝트의 유지 관리자 역할이 있어야 합니다.
- 두 개 이상의 프로젝트에 할당된 프로젝트 러너는 삭제할 수 없습니다. 러너를 삭제하기 전에 활성화된 모든 프로젝트에서 비활성화해야 합니다.
프로젝트 러너를 삭제하면 GitLab 인스턴스에서 영구적으로 삭제되어 프로젝트에서 더 이상 사용할 수 없습니다. 러너가 잡을 수락하지 않도록 일시적으로 중지하려면 러너를 일시 중지할 수 있습니다.
러너를 삭제해도 구성은 여전히 러너 호스트의 config.toml 파일에 존재합니다.
삭제된 러너의 구성이 이 파일에 여전히 있으면 러너 호스트는 계속 GitLab에 연결합니다.
불필요한 API 트래픽을 방지하려면 삭제된 러너의 등록을 해제해야 합니다.
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
- Runners를 펼칩니다.
- Assigned project runners 섹션에서 러너를 찾습니다.
- 러너 오른쪽에서 Remove runner를 선택합니다.
- 러너를 삭제하려면 Remove를 선택합니다.
다른 프로젝트에 프로젝트 러너 활성화#
프로젝트 러너가 만들어지면 다른 프로젝트에 대해 활성화할 수 있습니다.
사전 조건: 다음 프로젝트에 대해 유지 관리자 또는 소유자 역할이 있어야 합니다:
- 러너가 이미 활성화된 프로젝트.
- 러너를 활성화하려는 프로젝트.
- 프로젝트 러너는 잠금되지 않아야 합니다.
프로젝트에 프로젝트 러너를 활성화하려면:
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
- Runners를 펼칩니다.
- Project runners 영역에서 원하는 러너 옆에 Enable for this project를 선택합니다.
활성화된 모든 프로젝트에서 프로젝트 러너를 편집할 수 있습니다. 잠금 해제 및 태그와 설명 편집을 포함한 수정 사항은 러너를 사용하는 모든 프로젝트에 영향을 미칩니다.
관리자는 여러 프로젝트에 대해 러너를 활성화할 수 있습니다.
프로젝트 러너가 다른 프로젝트에 활성화되지 않도록 방지#
프로젝트 러너를 "잠금" 상태로 구성하여 다른 프로젝트에 활성화될 수 없도록 할 수 있습니다. 이 설정은 처음 러너를 등록할 때 활성화할 수 있지만 나중에 변경할 수도 있습니다.
프로젝트 러너를 잠금 또는 잠금 해제하려면:
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
- Runners를 펼칩니다.
- 잠금 또는 잠금 해제할 프로젝트 러너를 찾습니다. 활성화되어 있는지 확인합니다. 인스턴스 또는 그룹 러너는 잠금할 수 없습니다.
- Edit (✏️)를 선택합니다.
- Lock to current projects 체크박스를 선택합니다.
- Save changes를 선택합니다.
러너 상태#
러너는 다음 상태 중 하나를 가질 수 있습니다.
| 상태 | 설명 |
|---|---|
online |
러너가 지난 2시간 내에 GitLab에 연락했으며 잡을 실행할 수 있습니다. |
offline |
러너가 2시간 이상 GitLab에 연락하지 않았으며 잡을 실행할 수 없습니다. 러너를 온라인 상태로 전환할 수 있는지 확인하십시오. |
stale |
러너가 7일 이상 GitLab에 연락하지 않았습니다. 러너가 7일 이상 전에 만들어졌지만 인스턴스에 연락한 적이 없는 경우도 오래됨으로 간주됩니다. |
never_contacted |
러너가 GitLab에 연락한 적이 없습니다. 러너가 GitLab에 연락하도록 하려면 gitlab-runner run을 실행하십시오. |
오래된 러너 관리자 정리#
GitLab은 데이터베이스를 효율적으로 유지하기 위해 오래된 러너 관리자를 주기적으로 삭제합니다. 러너가 GitLab 인스턴스에 연락하면 연결이 다시 생성됩니다.
러너 성능 통계 보기#
히스토리
- GitLab 15.8에서 도입.
관리자로서 러너 통계를 보고 러너 플릿의 성능에 대해 알아볼 수 있습니다.
잡 큐 중간 시간 값은 인스턴스 러너가 실행한 가장 최근 100개의 잡의 큐 대기 시간을 샘플링하여 계산됩니다. 최신 5000개의 러너에서의 잡만 고려됩니다.
중간값은 50번째 백분위수에 해당하는 값입니다. 잡의 절반은 중간값보다 더 오래 큐에 있고, 절반은 중간값보다 짧게 큐에 있습니다.
러너 통계를 보려면:
- 오른쪽 상단 모서리에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 CI/CD > Runners를 선택합니다.
- View metrics를 선택합니다.
업그레이드가 필요한 러너 확인#
히스토리
- GitLab 15.3에서 도입.
사전 조건:
- 인스턴스 러너를 보기 위한 관리자 접근 권한.
- 그룹 러너를 보기 위한 유지 관리자 또는 소유자 역할.
러너에서 사용되는 GitLab Runner 버전은 최신 상태로 유지되어야 합니다.
업그레이드가 필요한 러너를 확인하려면:
-
러너 목록을 봅니다:
- 그룹의 경우:
- 상단 표시줄에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Build > Runners를 선택합니다.
- 인스턴스의 경우:
- 오른쪽 상단 모서리에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 CI/CD > Runners를 선택합니다.
- 그룹의 경우:
-
러너 목록 위에서 상태를 봅니다:
- Outdated - recommended: 러너에 최신
PATCH버전이 없어 보안 또는 높은 심각도 버그에 취약할 수 있습니다. 또는 러너가 GitLab 인스턴스보다 하나 이상의MAJOR버전이 뒤처져 있어 일부 기능이 사용 불가능하거나 제대로 작동하지 않을 수 있습니다. - Outdated - available: 최신 버전이 사용 가능하지만 업그레이드가 긴급하지 않습니다.
- Outdated - recommended: 러너에 최신
-
상태별로 목록을 필터링하여 업그레이드가 필요한 개별 러너를 확인합니다.
러너의 IP 주소 확인#
러너 문제를 해결하려면 러너의 IP 주소를 알아야 할 수 있습니다. GitLab은 러너가 잡을 폴링할 때 HTTP 요청의 소스를 보고 IP 주소를 저장하고 표시합니다. GitLab은 업데이트될 때마다 러너의 IP 주소를 자동으로 업데이트합니다.
인스턴스 러너와 프로젝트 러너의 IP 주소는 서로 다른 위치에서 찾을 수 있습니다.
인스턴스 러너의 IP 주소 확인#
사전 조건:
- 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.
인스턴스 러너의 IP 주소를 확인하려면:
- 오른쪽 상단 모서리에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 CI/CD > Runners를 선택합니다.
- 테이블에서 러너를 찾아 IP Address 열을 봅니다.

프로젝트 러너의 IP 주소 확인#
프로젝트 러너의 IP 주소를 찾으려면 해당 프로젝트의 소유자 역할이 있어야 합니다.
- 프로젝트의 Settings > CI/CD로 이동하여 Runners 섹션을 펼칩니다.
- 러너 이름을 선택하고 IP Address 행을 찾습니다.

러너 구성에 유지 관리 메모 추가#
러너를 문서화하기 위해 유지 관리 메모를 추가할 수 있습니다. 러너를 편집할 수 있는 사용자는 러너 세부 정보를 볼 때 메모를 볼 수 있습니다.
이 기능을 사용하여 러너 구성 변경과 관련된 결과 또는 문제를 다른 사람에게 알릴 수 있습니다.
프로젝트 및 그룹에서 러너 등록 토큰 사용 활성화#
히스토리
- GitLab 16.11에서 도입
러너 등록 토큰 전달 옵션과 특정 구성 인수에 대한 지원은 레거시로 간주되어 권장되지 않습니다. 러너 생성 워크플로우를 사용하여 러너를 등록할 인증 토큰을 생성합니다. 이 프로세스는 러너 소유권의 완전한 추적 가능성을 제공하고 러너 플릿의 보안을 강화합니다. 자세한 정보는 새 러너 등록 워크플로우로 마이그레이션을 참조하십시오.
GitLab 17.0에서는 모든 GitLab 인스턴스에서 러너 등록 토큰 사용이 비활성화됩니다.
사전 조건:
- 러너 등록 토큰은 Admin 영역에서 활성화되어야 합니다.
프로젝트 및 그룹에서 러너 등록 토큰 사용을 활성화하려면:
- 상단 표시줄에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
- Runners를 펼칩니다.
- Allow members of projects and groups to create runners with runner registration tokens 토글을 활성화합니다.
