Google Cloud Compute Engine에서 runner 프로비저닝
Offering: GitLab.com
GitLab.com용 프로젝트 또는 그룹 runner를 생성하고 Google Cloud 프로젝트에서 프로비저닝할 수 있습니다. runner를 생성하면 runner 인증 토큰이 할당됩니다. 프로비저닝 후 자동 스케일링 runner 플릿이 Google Cloud에서 CI/CD job을 실행할 준비가 됩니다.
히스토리
- GitLab 16.10에서
google_cloud_support_feature_flag라는 플래그와 함께 도입되었습니다. 이 기능은 베타입니다. - GitLab 17.1에서 GitLab.com에서 활성화되었습니다. 기능 플래그
google_cloud_support_feature_flag이 제거되었습니다.
GitLab.com용 프로젝트 또는 그룹 runner를 생성하고 Google Cloud 프로젝트에서 프로비저닝할 수 있습니다. runner를 생성할 때 GitLab UI는 Google Cloud 프로젝트에서 runner를 자동으로 프로비저닝하기 위한 화면 안내 및 스크립트를 제공합니다.
runner를 생성하면 runner 인증 토큰이 할당됩니다. GRIT Terraform 스크립트는 이 토큰을 사용하여 runner를 등록합니다. 그런 다음 runner는 job 큐에서 job을 가져올 때 이 토큰을 사용하여 GitLab에 인증합니다.
프로비저닝 후 자동 스케일링 runner 플릿이 Google Cloud에서 CI/CD job을 실행할 준비가 됩니다. runner 관리자가 임시 runner를 자동으로 생성합니다.
전제 조건:
- 그룹 runner의 경우: 그룹에 대한 Owner 권한.
- 프로젝트 runner의 경우: 프로젝트에 대한 Maintainer 권한.
- Google Cloud Platform 프로젝트의 경우: Owner IAM 권한.
- Google Cloud Platform 프로젝트에 대해 청구 활성화.
- Google Cloud 프로젝트에서 IAM 권한으로 인증된 작동하는
gcloudCLI 도구. - Terraform v1.5 이상 및 Terraform CLI 도구.
- Bash가 설치된 터미널.
Google Cloud에 그룹 또는 프로젝트 runner를 생성하고 프로비저닝하려면:
-
상단 바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
-
새 runner를 생성합니다.
- 새 그룹 runner를 생성하려면 빌드 > 러너 > 새 그룹 러너를 선택합니다.
- 새 프로젝트 runner를 생성하려면 설정 > CI/CD > 러너 > 새 프로젝트 러너를 선택합니다.
-
태그 섹션의 태그 필드에 runner가 실행할 수 있는 job을 지정하는 job 태그를 입력합니다. 태그가 있는 job 외에도 태그가 없는 job에 runner를 사용하려면 태그 없는 실행을 선택합니다.
-
선택 사항. 구성 섹션에서 runner 설명 및 추가 구성을 추가합니다.
-
runner 생성을 선택합니다.
-
플랫폼 섹션에서 Google Cloud를 선택합니다.
-
환경에서 Google Cloud 환경의 다음 세부 정보를 입력합니다:
- Google Cloud 프로젝트 ID
- 리전
- 영역
- 머신 유형
-
GitLab Runner 설정에서 설정 지침을 선택합니다. 대화 상자에서:
-
필요한 서비스, 서비스 계정 및 권한을 활성화하려면 Google Cloud 프로젝트 구성에서 각 Google Cloud 프로젝트에 대해 Bash 스크립트를 한 번 실행합니다.
-
GitLab Runner 설치 및 등록의 구성으로
main.tf파일을 만듭니다. 이 스크립트는 GitLab Runner Infrastructure Toolkit(GRIT)을 사용하여 runner 관리자를 실행하기 위해 Google Cloud 프로젝트에 인프라를 프로비저닝합니다.[!warning] 기본적으로 runner는 CI/CD job이 활성화되지 않은 경우에도 VM 인스턴스가 계속 실행될 수 있는 설정으로 구성됩니다. 자동 스케일링 동작을 제어하고 비용을 줄이려면 관리자 인스턴스에서 runner 구성 파일을 찾아
[runners.machine]섹션을 편집하여IdleCount,IdleTime및 인스턴스 제한과 같은 매개변수를 조정합니다.
-
스크립트를 실행하면 runner 관리자가 runner 인증 토큰으로 연결됩니다. runner 관리자가 온라인으로 표시되고 job 수신을 시작하는 데 최대 1분이 걸릴 수 있습니다.
