Google Cloud Compute Engine에서 러너 프로비저닝하기

Google Cloud Compute Engine에서 러너 프로비저닝하기

GitLab.com용 프로젝트 또는 그룹 러너를 만들고, 이를 Google Cloud 프로젝트에 프로비저닝할 수 있어요. 러너를 만들 때 GitLab UI가 Google Cloud 프로젝트에 러너를 자동으로 프로비저닝하는 화면 안내와 스크립트를 제공해 줘요.

출처: 문서

본문

러너를 만들면 러너 인증 토큰이 할당돼요. GRIT Terraform 스크립트가 이 토큰을 사용해 러너를 등록해요. 이후 러너는 잡 큐에서 잡을 가져올 때 이 토큰으로 GitLab에 인증해요.

프로비저닝이 끝나면 Google Cloud에서 CI/CD 잡을 실행할 준비가 된 자동 확장(autoscaling) 러너 풀이 준비돼요. 러너 매니저가 임시 러너를 자동으로 생성하죠.

전제 조건은 다음과 같아요.

그룹 또는 프로젝트 러너를 만들어 Google Cloud에 프로비저닝하려면:

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾아요.

  2. 새 러너를 만들어요.

    • 새 그룹 러너를 만들려면 Build > Runners > New group runner를 선택해요.
    • 새 프로젝트 러너를 만들려면 Settings > CI/CD > Runners > New project runner를 선택해요.
  3. Tags 섹션의 Tags 필드에 잡이 실행할 수 있는 잡 태그를 입력해요. 태그가 있는 잡 외에도 태그 없는 잡에 러너를 사용하려면 Run untagged를 선택해요.

  4. (선택) Configuration 섹션에서 러너 설명과 추가 구성을 추가해요.

  5. Create runner를 선택해요.

  6. Platform 섹션에서 Google Cloud를 선택해요.

  7. Environment에서 Google Cloud 환경의 다음 세부 정보를 입력해요.

    • Google Cloud project ID
    • Region
    • Zone
    • Machine type
  8. Set up GitLab Runner에서 Setup instructions를 선택해요. 대화 상자에서:

    1. 필요한 서비스, 서비스 계정, 권한을 활성화하려면 Configure Google Cloud project에서 Google Cloud 프로젝트마다 Bash 스크립트를 한 번씩 실행해요.
    2. Install and register GitLab Runner의 구성으로 main.tf 파일을 만들어요. GitLab Runner Infrastructure Toolkit (GRIT) 스크립트가 러너 매니저를 실행하기 위한 인프라를 Google Cloud 프로젝트에 프로비저닝해요.

기본적으로 러너는 CI/CD 잡이 없을 때도 VM 인스턴스가 계속 실행될 수 있는 설정으로 구성돼요. 자동 확장 동작을 제어하고 비용을 줄이려면, 매니저 인스턴스에서 러너 구성 파일을 찾아 IdleCount, IdleTime, 인스턴스 상한 같은 매개변수를 조정하려고 [[runners.machine] 섹션](https://docs.gitlab.com/runner/configuration/advanced-configuration/#the-runnersmachine-section)을 편집해요.

스크립트를 실행하면 러너 매니저가 러너 인증 토큰으로 연결돼요. 러너 매니저가 온라인으로 표시되고 잡을 받기 시작하기까지 최대 1분이 걸릴 수 있어요.

더 알아보기

러너의 자동 확장과 비용 최적화를 더 깊이 다루고 싶다면 러너 고급 구성 문서의 [[runners.machine] 섹션](https://docs.gitlab.com/runner/configuration/advanced-configuration/#the-runnersmachine-section)을 참고해요. GitLab.com에서 러너를 만들고 관리하는 전체 흐름은 러너 만들기 워크플로 문서에서 확인할 수 있어요.