실행자 관리

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

GitLab Runner에는 원하는 사용자에게 액세스 권한을 부여할 수 있는 다음 유형의 실행자가 있습니다.

  • 인스턴스 실행자는 GitLab 인스턴스의 모든 그룹 및 프로젝트에서 사용할 수 있습니다.
  • 그룹 실행자는 그룹의 모든 프로젝트 및 하위 그룹에서 사용할 수 있습니다.
  • 프로젝트 실행자는 특정 프로젝트에 연결됩니다. 일반적으로 프로젝트 실행자는 한 번에 한 프로젝트에서 사용됩니다.

인스턴스 실행자

인스턴스 실행자는 GitLab 인스턴스의 모든 프로젝트에서 사용할 수 있습니다.

유사한 요구 사항을 갖는 여러 작업이 있는 경우, 여러 프로젝트에 대기 중인 여러 실행자를 보유하는 대신 여러 프로젝트를 처리할 수 있는 몇 개의 실행자를 보유할 수 있습니다.

자체 호스팅형 GitLab을 사용하는 경우, 관리자는 다음을 수행할 수 있습니다:

GitLab.com을 사용하는 경우:

실행자 인증 토큰을 사용하여 인스턴스 실행자 생성

전제 조건:

  • 관리자여야 합니다.

실행자를 생성하면 등록에 사용하는 실행자 인증 토큰이 할당됩니다. 실행자는 작업 대기열에서 작업을 가져올 때 GitLab에서 인증에 사용합니다.

인스턴스 실행자를 생성하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. CI/CD > 실행자를 선택합니다.
  3. 새 인스턴스 실행자를 선택합니다.
  4. GitLab Runner가 설치된 운영 체제를 선택합니다.
  5. 태그 섹션에서 태그 필드에 실행자가 실행할 작업을 지정하는 작업 태그를 입력합니다. 이 실행자에 대한 작업 태그가 없는 경우 태그 없는 작업 실행을 선택합니다.
  6. 선택 사항. 실행자 설명 필드에 GitLab에 표시되는 실행자 설명을 추가하려면 실행자 설명을 입력합니다.
  7. 선택 사항. 구성 섹션에서 추가 구성을 추가합니다.
  8. 실행자 생성을 선택합니다.
  9. 명령줄에 의해 요구될 때 명령줄에 따라 실행자를 등록합니다. 명령줄에서 프롬프트가 표시되면:
    • GitLab 인스턴스 URL로 GitLab 인스턴스의 URL을 사용합니다. 예를 들어, 프로젝트가 gitlab.example.com/yourname/yourproject에 호스팅되는 경우 GitLab 인스턴스 URL은 https://gitlab.example.com입니다.
    • executor에는 실행자가 작업을 실행하는 executor의 유형을 입력합니다. 실행자는 작업을 실행하는 환경입니다.

API를 사용하여 실행자를 생성할 수도 있습니다.

참고: 나중에 등록 중에 실행자 인증 토큰이 UI에 제한된 기간 동안 표시됩니다. 실행자를 등록한 후, 인증 토큰은 config.toml에 저장됩니다.

등록 토큰을 사용하여 인스턴스 실행자 생성 (사용 중단됨)

경고: 실행자 등록 토큰을 전달하고 특정 구성 인수를 지원하는 기능이 GitLab 15.6에서 사용 중단되었으며 GitLab 18.0에서 제거될 예정입니다. 실행자 인증 토큰을 대신 사용해야 합니다. 자세한 내용은 새 실행자 등록 워크플로로 마이그레이션을 참조하십시오.

전제 조건:

  • 관리자여야 합니다.

인스턴스 실행자를 생성하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. CI/CD > 실행자를 선택합니다.
  3. 인스턴스 실행자 등록을 선택합니다.
  4. 등록 토큰을 복사합니다.
  5. 실행자를 등록합니다.

인스턴스 러너 일시 중지 또는 다시 시작하기

사전 요구 사항:

  • 관리자여야 합니다.

러너를 일시 중지하여 GitLab 인스턴스의 그룹 및 프로젝트에서 작업을 수락하지 않도록 할 수 있습니다.

  1. 왼쪽 사이드바에서 아래쪽에서 관리자 영역(Admin Area)을 선택합니다.
  2. CI/CD > 러너(CI/CD > Runners)를 선택합니다.
  3. 검색 상자에 러너 설명을 입력하거나 러너 목록을 필터링합니다.
  4. 러너 목록에서 러너의 오른쪽에:
    • 러너를 일시 중지하려면 일시 중지(Pause)를 선택합니다 ().
    • 러너를 다시 시작하려면 다시 시작(Resume)를 선택합니다 ().

인스턴스 러너 삭제

사전 요구 사항:

  • 관리자여야 합니다.

인스턴스 러너를 삭제하면 GitLab 인스턴스에서 영구적으로 삭제되어 그룹 및 프로젝트에서 더 이상 사용할 수 없게 됩니다. 러너가 작업을 수락하지 않도록 일시 중지하려면 대신 일시 중지할 수 있습니다.

단일 또는 여러 인스턴스 러너를 삭제하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리자 영역(Admin Area)을 선택합니다.
  2. CI/CD > 러너(CI/CD > Runners)를 선택합니다.
  3. 검색 상자에 러너 설명을 입력하거나 러너 목록을 필터링합니다.
  4. 인스턴스 러너를 삭제합니다:
    • 단일 러너를 삭제하려면 러너 옆에서 러너 삭제(Delete runner)를 선택합니다 ().
    • 여러 인스턴스 러너를 삭제하려면 각 러너의 확인란을 선택한 후 선택된 항목 삭제(Delete selected)를 선택합니다.
    • 모든 러너를 삭제하려면 러너 목록 위에 있는 확인란을 선택한 후 선택된 항목 삭제(Delete selected)를 선택합니다.
  5. 러너 영구 삭제(Permanently delete runner)를 선택합니다.

프로젝트용 인스턴스 러너 활성화

GitLab.com에서 인스턴스 러너는 기본적으로 모든 프로젝트에서 활성화되어 있습니다.

GitLab의 셀프 관리형 인스턴스에서 관리자는 모든 새 프로젝트에서 인스턴스 러너를 활성화할 수 있습니다.

기존 프로젝트의 경우, 관리자는 설치하고 등록해야 합니다.

프로젝트용 인스턴스 러너를 활성화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동(Search or go to)을 선택하고 프로젝트를 찾습니다.
  2. 설정 > CI/CD(Settings > CI/CD)를 선택합니다.
  3. 러너(Runners)를 확장합니다.
  4. 이 프로젝트에 대해 인스턴스 러너 활성화(Enable instance runners for this project)를 켭니다.

그룹용 인스턴스 러너 활성화

그룹용 인스턴스 러너를 활성화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동(Search or go to)을 선택하고 그룹을 찾습니다.
  2. 설정 > CI/CD(Settings > CI/CD)를 선택합니다.
  3. 러너(Runners)를 확장합니다.
  4. 이 그룹에 대해 인스턴스 러너 활성화(Enable instance runners for this group)를 켭니다.

프로젝트용 인스턴스 러너 비활성화

프로젝트 또는 그룹의 인스턴스 러너를 비활성화할 수 있습니다. 프로젝트 또는 그룹에 대해 소유자 역할이 있어야 합니다.

프로젝트용 인스턴스 러너를 비활성화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동(Search or go to)을 선택하고 프로젝트를 찾습니다.
  2. 설정 > CI/CD(Settings > CI/CD)를 선택합니다.
  3. 러너(Runners)를 확장합니다.
  4. 인스턴스 러너(Instance runners) 영역에서 이 프로젝트에 대해 인스턴스 러너 활성화(Enable instance runners for this project)를 끕니다.

프로젝트의 경우 해당 프로젝트에 대한 인스턴스 러너가 자동으로 비활성화됩니다:

  • 부모 그룹에 대한 인스턴스 러너 설정이 비활성화된 경우, 그리고
  • 프로젝트 수준에서 이 설정을 재정의할 수 없는 경우.

그룹용 인스턴스 러너 비활성화

그룹용 인스턴스 러너를 비활성화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동(Search or go to)을 선택하고 그룹을 찾습니다.
  2. 설정 > CI/CD(Settings > CI/CD)를 선택합니다.
  3. 러너(Runners)를 확장합니다.
  4. 이 그룹에 대해 인스턴스 러너 활성화(Enable instance runners for this group)를 끕니다.
  5. 선택 사항. 프로젝트 또는 하위 그룹에서 인스턴스 러너를 활성화할 수 있도록 허용하려면 프로젝트 및 하위 그룹이 그룹 설정 재정의(Allow projects and subgroups to override the group setting)을 선택합니다.

인스턴스 러너 작업 수행 방식

인스턴스 러너는 공정한 사용량 대기열을 사용하여 작업을 처리합니다. 이 대기열은 프로젝트가 수백 개의 작업을 생성하고 모든 사용 가능한 인스턴스 러너 리소스를 사용하는 것을 방지합니다.

공정한 사용량 대기열 알고리즘은 이미 실행 중인 작업의 수가 가장 적은 프로젝트에 작업을 할당합니다.

예를 들어, 이러한 작업이 대기열에 있는 경우:

  • 프로젝트 1의 작업 1
  • 프로젝트 1의 작업 2
  • 프로젝트 1의 작업 3
  • 프로젝트 2의 작업 4
  • 프로젝트 2의 작업 5
  • 프로젝트 3의 작업 6

여러 CI/CD 작업이 동시에 실행될 때, 공정한 사용량 알고리즘은 다음과 같은 순서로 작업을 할당합니다:

  1. 가장 먼저 작업 1이 할당됩니다. 왜냐하면 모든 프로젝트에서 실행 중인 작업이 없기 때문에(즉, 모든 프로젝트에서 실행 중인 작업이 없음) 가장 적은 작업 수를 가진 프로젝트입니다.
  2. 그 다음에 작업 4가 할당됩니다. 왜냐하면 4는 이제 실행 중인 작업이 없는 프로젝트(프로젝트 1은 작업이 실행 중)에서 가장 작은 작업 번호입니다.
  3. 그 다음에 작업 6이 할당됩니다. 왜냐하면 6은 이제 실행 중인 작업이 없는 프로젝트(프로젝트 1과 2는 작업이 실행 중)에서 가장 작은 작업 번호입니다.
  4. 그 다음에 작업 2가 할당됩니다. 왜냐하면 실행 중인 작업의 수가 가장 적은 프로젝트(각각 1개씩)에서 가장 작은 작업 번호이기 때문입니다.
  5. 그 다음에 작업 5가 할당됩니다. 왜냐하면 프로젝트 1에서 이제 2개의 작업이 실행 중이고 작업 5가 남은 프로젝트 2와 3 사이에서 가장 작은 작업 번호이기 때문입니다.
  6. 마지막으로 작업 3이 할당됩니다… 왜냐하면 이제 이 작업만이 남아 있기 때문입니다.

한 번에 하나의 작업만 실행될 때, 공정한 사용량 알고리즘은 다음과 같은 순서로 작업을 할당합니다:

  1. 가장 먼저 작업 1이 선택됩니다. 왜냐하면 모든 프로젝트에서 실행 중인 작업이 없기 때문에(즉, 모든 프로젝트에서 실행 중인 작업이 없음) 가장 적은 작업 수를 가진 프로젝트입니다.
  2. 작업 1을 마칩니다.
  3. 다음에 작업 2가 선택됩니다. 왜냐하면 작업 1을 마치면 모든 프로젝트에 다시 0개의 실행 중인 작업이 되고 2가 사용 가능한 가장 작은 작업 번호입니다.
  4. 다음에 작업 4가 선택됩니다. 왜냐하면 프로젝트 1이 작업을 실행하고 있으므로 실행 중인 작업이 없는 프로젝트(프로젝트 2와 3)에서 가장 낮은 숫자의 작업입니다.
  5. 작업 4를 마치면 다음에 작업 5가 선택됩니다. 왜냐하면 작업 4를 마치면 프로젝트 2에 다시 실행 중인 작업이 없습니다.
  6. 작업 5를 마치면 다음에 작업 6이 선택됩니다. 왜냐하면 프로젝트 3은 더 이상 실행 중인 작업이 없는 유일한 프로젝트입니다.
  7. 마지막으로 작업 3을 선택합니다… 왜냐하면 다시 한 번, 이 작업만이 남아 있기 때문입니다.

그룹 러너

그룹 러너를 사용하면 그룹의 모든 프로젝트가 러너 세트에 액세스할 수 있습니다.

그룹 러너는 선입선출 대기열을 사용하여 작업을 처리합니다.

러너 인증 토큰을 사용하여 그룹 러너 만들기

필수 조건:

  • 그룹의 소유자 역할이어야 합니다.

자체 관리 GitLab 인스턴스 또는 GitLab.com에 대해 그룹 러너를 만들 수 있습니다.
러너를 만들면 러너는 등록할 때 사용하는 러너 인증 토큰이 할당됩니다.
러너는 작업 대기열에서 작업을 가져올 때 GitLab으로 인증하기 위해 이 토큰을 사용합니다.

그룹 러너를 만들려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 빌드 > 러너를 선택합니다.
  3. 새 그룹 러너를 선택합니다.
  4. GitLab 러너가 설치된 운영 체제를 선택합니다.
  5. 태그 섹션에서 태그 필드에 러너가 실행할 작업 태그를 입력합니다. 이 러너에 작업 태그가 없는 경우 태그 없이 실행을 선택합니다.
  6. 선택 사항. 러너 설명 필드에 GitLab에 표시되는 러너 설명을 추가합니다.
  7. 선택 사항. 구성 섹션에 추가 구성을 추가합니다.
  8. 러너 만들기를 선택합니다.
  9. 명령줄에서 러너를 등록하는 방법에 대한 안내를 따릅니다. 명령줄에서 프롬프트가 나타나면:
    • GitLab 인스턴스 URL에는 GitLab 인스턴스의 URL을 사용합니다. 예를 들어 프로젝트가 gitlab.example.com/yourname/yourproject에 호스팅되는 경우, GitLab 인스턴스 URL은 https://gitlab.example.com입니다.
    • executor에는 러너가 작업을 실행하는 executor의 유형을 입력합니다. Executor는 러너가 작업을 실행하는 환경입니다.

러너를 만드는 것과 관련하여 API를 사용하는 것도 가능합니다.

참고: 러너 인증 토큰은 등록 중에 UI에 짧은 기간 동안만 표시됩니다.

등록 토큰을 사용하여 그룹 러너 만들기 (사용 중단됨)

경고: 러너 등록 토큰 전달 기능 및 특정 구성 인수 지원이 GitLab 15.6에서 사용 중단되었으며 GitLab 18.0에서 제거될 예정입니다. 인증 토큰을 대신 사용해야 합니다. 자세한 내용은 새 러너 등록 워크플로로 마이그레이션을 참조하십시오.

그룹의 소유자 역할이어야 합니다.

그룹 러너를 만들려면:

  1. GitLab 러너 설치를 진행합니다.
  2. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  3. 빌드 > 러너를 선택합니다.
  4. 오른쪽 상단 모서리에 그룹 러너 등록을 선택합니다.
  5. 러너 설치 및 등록 지침 표시를 선택합니다. 이 지침에는 토큰, URL, 및 러너를 등록하는 명령이 포함되어 있습니다.

대신, 등록 토큰을 복사하고 러너를 등록하는 방법에 대한 설명서를 참조할 수도 있습니다.

그룹 러너 보기

  • Maintainer 역할을 가진 사용자가 그룹 러너를 볼 수 있는 기능은 GitLab 16.4에 도입되었습니다.

필수 조건:

  • 그룹의 Maintainer 또는 소유자 역할이어야 합니다.

그룹 및 하위 그룹 및 프로젝트에 대한 모든 러너를 볼 수 있습니다.
자체 관리 GitLab 인스턴스 또는 GitLab.com에 대해 이 작업을 수행할 수 있습니다.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 빌드 > 러너를 선택합니다.

상속된 것만 표시하는 그룹 러너 필터링

리스트에서 모든 러너를 표시하거나 인스턴스나 다른 그룹에서 상속된 러너만 표시하는 옵션을 선택할 수 있습니다.

기본적으로는 상속된 러너만 표시됩니다.

인스턴스에 사용 가능한 모든 러너, 인스턴스 러너 및 다른 그룹에 있는 러너를 모두 표시하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 빌드 > 러너를 선택합니다.
  3. 목록 위에서 상속된 것만 표시 토글을 끕니다.

그룹 러너 일시 중지 또는 재개

전제 조건:

  • 귀하는 그룹의 관리자이거나 소유자 역할을 가져야 합니다.

그룹 러너를 일시 중지하여 GitLab 인스턴스의 하위 그룹 및 프로젝트에서 작업을 수락하지 않도록 할 수 있습니다. 여러 프로젝트에서 사용 중인 그룹 러너를 일시 중지하면 모든 프로젝트에서 해당 러너가 일시 중지됩니다.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 빌드 > 러너를 선택합니다.
  3. 검색 상자에 러너 설명을 입력하거나 러너 목록을 필터링합니다.
  4. 러너 목록에서 러너 오른쪽에:
    • 러너를 일시 중지하려면 일시 중지를 선택합니다 ().
    • 러너를 재개하려면 재개를 선택합니다 ().

그룹 러너 삭제

전제 조건:

  • 귀하는 그룹의 관리자이거나 소유자 역할을 가져야 합니다.

그룹 러너를 삭제하면 GitLab 인스턴스에서 영구적으로 삭제되며 하위 그룹과 프로젝트에서 더 이상 사용할 수 없습니다. 러너가 작업을 수락하는 것을 일시적으로 중지하려면 대신 러너를 일시 중지할 수 있습니다.

단일 또는 여러 그룹 러너를 삭제하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 빌드 > 러너를 선택합니다.
  3. 검색 상자에 러너 설명을 입력하거나 러너 목록을 필터링합니다.
  4. 그룹 러너를 삭제합니다:
    • 단일 러너를 삭제하려면 러너 옆에서 러너 삭제를 선택합니다 ().
    • 여러 인스턴스 러너를 삭제하려면 각 러너의 확인란을 선택하고 선택한 항목 삭제를 선택합니다.
    • 모든 러너를 삭제하려면 러너 목록 상단의 확인란을 선택하고 선택한 항목 삭제를 선택합니다.
  5. 영구적으로 러너 삭제를 선택합니다.

미사용된 그룹 러너 클린업

세부 정보:

등급: 얼티메이트 제공: GitLab.com, 자체 관리형, GitLab Dedicated

전제 조건:

  • 귀하는 그룹의 소유자 역할을 가져야 합니다.

3개월 이상 사용되지 않은 그룹 러너를 정리할 수 있습니다.

그룹 러너는 그룹 수준에서 만들어진 러너입니다.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 러너를 확장합니다.
  4. 미사용 러너 정리 활성화 토글을 켭니다.

미사용 러너 클린업 로그 보기

미사용 러너가 제거된 결과를 확인하려면 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 15.10에서 도입됨. create_runner_workflow_for_namespace 플래그로 배포됨. 기본적으로 비활성화됨.
  • 기본적으로 활성화됨. GitLab 16.0에서 활성화됨.
  • GitLab 16.2에서 일반적으로 사용 가능. create_runner_workflow_for_admin 플래그가 제거되었습니다.

전제 조건:

  • 귀하는 프로젝트의 관리자 역할을 가져야 합니다.

자체 관리형 GitLab 인스턴스나 GitLab.com에 프로젝트 러너를 만들 수 있습니다. 러너를 생성하면 러너 인증 토큰이 할당되고 해당 토큰을 사용하여 러너를 등록합니다. 러너는 작업 대기열에서 작업을 가져올 때 GitLab에서 토큰을 사용하여 인증합니다.

프로젝트 러너를 만들려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 러너 섹션을 확장합니다.
  4. 새 프로젝트 러너를 선택합니다.
  5. GitLab Runner가 설치된 운영 체제를 선택합니다.
  6. 태그 섹션에서 태그 필드에 러너가 실행할 작업을 지정하는 작업 태그를 입력합니다. 이 러너의 작업 태그가 없는 경우 태그 없음을 선택합니다.
  7. 선택 사항입니다. 러너 설명 필드에 GitLab에 표시될 러너 설명을 추가합니다.
  8. 선택 사항입니다. 구성 섹션에 추가 구성을 추가합니다.
  9. 러너 만들기를 선택합니다.
  10. 명령줄에서 러너를 등록하는 지시 사항을 따릅니다. 명령줄에서 프롬프트가 표시될 때: - GitLab 인스턴스 URL에는 귀하의 GitLab 인스턴스의 URL을 사용합니다. 예를 들어, 귀하의 프로젝트가 gitlab.example.com/yourname/yourproject에 호스팅되는 경우 귀하의 GitLab 인스턴스 URL은 https://gitlab.example.com입니다. - executor에는 executor의 유형을 입력합니다. Executor는 러너가 작업을 실행하는 환경입니다.

러너를 만드는 데 API를 사용할 수도 있습니다.

참고: 러너 인증 토큰은 등록 중에만 UI에 잠깐 표시됩니다.

프로젝트 러너에 등록 토큰을 사용하여 러너 생성하기 (사용 중단됨)

경고: 러너 등록 토큰을 전달하고 특정 구성 인수를 지원하는 기능이 사용 중단되었으며 GitLab 15.6에서 제거되며 GitLab 18.0에서 제거될 예정입니다. 러너 인증 토큰을 대신 사용해야 합니다. 자세한 내용은 새 러너 등록 워크플로우로 마이그레이션을 참조하십시오.

전제 조건:

  • 해당 프로젝트에 적어도 Maintainer 역할이 있어야 합니다.

프로젝트 러너 생성 방법:

  1. GitLab 러너 설치하기.
  2. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 러너를 사용할 프로젝트를 찾습니다.
  3. 설정 > CI/CD를 선택합니다.
  4. 러너를 확장합니다.
  5. 프로젝트 러너 섹션에서 URL과 토큰을 기록하세요.
  6. 러너를 등록.

이제 해당 프로젝트에 러너가 활성화되었습니다.

프로젝트 러너 일시 중지 또는 재개하기

전제 조건:

  • 관리자이거나 해당 프로젝트의 Maintainer 역할이 있어야 합니다.

해당 GitLab 인스턴스에서 할당된 프로젝트로부터 작업을 수락하지 않도록 프로젝트 러너를 일시 중지할 수 있습니다.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 러너를 활성화하려는 프로젝트를 찾습니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 러너를 확장합니다.
  4. 할당된 프로젝트 러너 섹션에서 러너를 찾습니다.
  5. 러너 우측에:
    • 러너를 일시 중지하려면 일시 중지를 선택하고, 그런 다음 일시 중지를 선택합니다.
    • 러너를 재개하려면 재개를 선택합니다.

프로젝트 러너 삭제하기

전제 조건:

  • 관리자이거나 해당 프로젝트의 Maintainer 역할이 있어야 합니다.
  • 한 개 이상의 프로젝트에 할당된 프로젝트 러너를 삭제할 수 없습니다. 러너를 삭제하기 전에, 러너가 활성화된 모든 프로젝트에서 비활성화해야 합니다.

프로젝트 러너를 삭제하면 해당 GitLab 인스턴스에서 영구적으로 삭제되어 프로젝트에서 더 이상 사용할 수 없습니다. 러너가 작업을 수락하지 않도록 일시적으로 중지하려면 러너를 일시 중지할 수 있습니다.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 러너를 활성화하려는 프로젝트를 찾습니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 러너를 확장합니다.
  4. 할당된 프로젝트 러너 섹션에서 러너를 찾습니다.
  5. 러너 우측에 있는 러너 제거를 선택합니다.
  6. 러너를 삭제하려면 제거를 선택합니다.

다른 프로젝트에 대해 프로젝트 러너 활성화하기

프로젝트 러너를 생성한 후, 다른 프로젝트에 대해 해당 러너를 활성화할 수 있습니다.

전제 조건: 러너가 이미 활성화된 프로젝트에 적어도 Maintainer 역할이 있어야 합니다. 처음에 러너를 등록할 때 잠금을 설정할 수 있지만 나중에 변경할 수도 있습니다.

프로젝트에 러너를 활성화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 러너를 활성화할 프로젝트를 찾습니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 러너를 확장합니다.
  4. 프로젝트 러너 영역에서 원하는 러너 옆에 이 프로젝트에 대해 활성화를 선택합니다.

러너를 사용 중인 모든 프로젝트에 대한 수정(태그 및 설명의 잠금 해제 및 편집 포함)은 모든 프로젝트에 영향을 미칩니다.

관리자는 러너를 여러 프로젝트에 대해 활성화할 수 있습니다.

다른 프로젝트에 대해 프로젝트 러너의 활성화를 금지하기

프로젝트 러너를 “잠그고” 다른 프로젝트에서 활성화할 수 없도록 구성할 수 있습니다. 이 설정은 처음에 러너를 등록할 때 설정할 수 있지만 나중에 변경할 수도 있습니다.

프로젝트 러너를 잠그거나 잠금을 해제하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 러너를 활성화할 프로젝트를 찾습니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 러너를 확장합니다.
  4. 잠금 또는 해제할 프로젝트 러너를 찾습니다. 활성화되어 있는지 확인합니다. 인스턴스 또는 그룹 러너를 잠글 수 없습니다.
  5. 편집을 선택합니다 ().
  6. 현재 프로젝트에 잠금 확인란을 선택합니다.
  7. 변경 사항 저장을 선택합니다.

Runner 상태

러너는 다음 중 하나의 상태를 가질 수 있습니다.

상태 설명
online 러너는 지난 2시간 이내에 GitLab에 연락하고 작업을 실행할 수 있는 상태입니다.
offline 러너는 지난 2시간 이상 동안 GitLab에 연락하지 않아 작업을 실행할 수 없는 상태입니다. 러너를 온라인으로 변경할 수 있는지 확인하세요.
stale 러너는 지난 3개월 이상 동안 GitLab에 연락하지 않았습니다. 러너가 3개월 이상 전에 생성되었지만 한 번도 인스턴스에 연락하지 않았다면 stale(지난)로 간주됩니다.
never_contacted 러너는 한 번도 GitLab에 연락한 적이 없습니다. 러너에게 GitLab에 연락하도록 하려면 gitlab-runner run을 실행하세요.

러너 성능에 대한 통계 보기

Tier: Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

관리자로서, 러너 통계를 확인하여 러너 플릿의 성능을 파악할 수 있습니다.

중앙값 대기 작업 시간은 인스턴스 러너에서 실행된 가장 최근 100개의 작업의 대기 시간을 샘플링하여 계산된 값입니다. 최신 5000개의 러너에서만 작업이 고려됩니다.

중앙값은 50번째 백분위에 해당하는 값으로, 대기 시간이 중앙값보다 긴 작업이 절반, 중앙값보다 짧은 작업이 또 다른 절반입니다.

러너 통계를 확인하려면:

  1. 왼쪽 사이드바에서 아래쪽으로 이동하여 관리 영역을 선택하세요.
  2. CI/CD > 러너를 선택하세요.
  3. 통계 보기를 선택하세요.

업그레이드해야 할 러너 판별

Tier: Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

러너가 사용하는 GitLab 러너의 버전은 최신 상태여야 합니다.

어떤 러너를 업그레이드해야 하는지 판별하려면:

  1. 러너 목록을 확인하세요:
    • 그룹의 경우:
      1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 그룹을 찾으세요.
      2. Build > 러너를 선택하세요.
    • 인스턴스의 경우:
      1. 왼쪽 사이드바에서 아래쪽으로 이동하여 관리 영역을 선택하세요.
      2. CI/CD > 러너를 선택하세요.
  2. 러너 목록 위에 상태를 확인하세요:
    • Outdated - recommended: 러너가 최신 PATCH 버전이 아니므로 보안상이나 심각도가 높은 버그에 취약할 수 있습니다. 또는 러너가 GitLab 인스턴스보다 하나 이상의 MAJOR 버전 뒤쳐져 있어 일부 기능이 사용 불가능하거나 제대로 작동하지 않을 수 있습니다.
    • Outdated - available: 더 최신 버전이 있지만 업그레이드가 중요하지 않습니다.
  3. 상태별로 목록을 필터링하여 어떤 개별 러너를 업그레이드해야 하는지 확인하세요.

러너의 IP 주소 파악

문제를 해결하기 위해 러너의 IP 주소를 파악하는 것이 유용할 수 있습니다. GitLab은 작업을 위해 폴링할 때 GitLab에 대한 HTTP 요청의 소스를 확인하여 IP 주소를 저장하고 표시합니다. IP 주소는 항상 최신 상태로 유지되므로 러너 IP가 변경되면 GitLab에서 자동으로 업데이트됩니다.

인스턴스 러너 및 프로젝트 러너의 IP 주소는 다른 위치에서 확인할 수 있습니다.

인스턴스 러너의 IP 주소 파악

전제 조건:

  • 인스턴스에 대한 관리자 액세스가 있어야 합니다.

인스턴스 러너의 IP 주소를 확인하려면:

  1. 왼쪽 사이드바에서 아래쪽으로 이동하여 관리 영역을 선택하세요.
  2. CI/CD > 러너를 선택하세요.
  3. 테이블에서 러너를 찾고 IP 주소 열을 확인하세요.

인스턴스 러너 IP 주소

프로젝트 러너의 IP 주소 파악

프로젝트의 러너 IP 주소를 확인하려면 해당 프로젝트의 소유자 역할이어야 합니다.

  1. 프로젝트의 설정 > CI/CD로 이동하고 Runners 섹션을 확장하세요.
  2. 러너의 이름을 선택하고 IP 주소 행을 확인하세요.

프로젝트 러너 IP 주소