Google Cloud 통합 API
프로젝트 수준의 Google Cloud 통합 스크립트
- GitLab 16.10에서 도입되었습니다. 이 기능은 실험 상태입니다.
Workload identity federation 생성 스크립트
- GitLab 16.10에서 도입되었습니다.
프로젝트의 유지자(Maintainer) 역할을 갖고 있는 사용자는 Google Cloud에서 워크로드 ID 페더레이션을 생성하고 구성하는 셸 스크립트를 다음 엔드포인트를 사용하여 쿼리할 수 있습니다:
GET /projects/:id/google_cloud/setup/wlif.sh
지원되는 속성:
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id
| 정수 | 예 | 프로젝트 ID |
google_cloud_project_id
| 문자열 | 예 | 워크로드 ID 페더레이션을 위한 Google Cloud 프로젝트 ID |
google_cloud_workload_identity_pool_id
| 문자열 | 아니요 | 생성할 Google Cloud 워크로드 ID 풀의 ID. gitlab-wlif 로 기본 설정됨
|
google_cloud_workload_identity_pool_display_name
| 문자열 | 아니요 | 생성할 Google Cloud 워크로드 ID 풀의 표시 이름. GitLab 통합을 위한 WLIF 로 기본 설정됨
|
google_cloud_workload_identity_pool_provider_id
| 문자열 | 아니요 | 생성할 Google Cloud 워크로드 ID 풀 제공자의 ID. gitlab-wlif-oidc-provider 로 기본 설정됨
|
google_cloud_workload_identity_pool_provider_display_name
| 문자열 | 아니요 | 생성할 Google Cloud 워크로드 ID 풀 제공자의 표시 이름. GitLab OIDC 제공자 로 기본 설정됨
|
예시 요청:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.com/api/v4/projects/<your_project_id>/google_cloud/setup/wlif.sh"
Google Cloud 통합 설정 스크립트
- GitLab 16.10에서 도입되었습니다.
프로젝트의 유지자(Maintainer) 역할을 갖고 있는 사용자는 다음 엔드포인트를 사용하여 Google Cloud 통합 설정 스크립트를 쿼리할 수 있습니다:
GET /projects/:id/google_cloud/setup/integrations.sh
Google Artifact Management 통합만 지원됩니다. 이 스크립트는 Google Artifact Registry에 액세스하기 위한 IAM 정책을 생성합니다:
- 적어도 Reporter 역할을 가진 멤버에게 Artifact Registry Reader 역할이 부여됨
- 적어도 Developer 역할을 가진 멤버에게 Artifact Registry Writer 역할이 부여됨
지원되는 속성:
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id
| 정수 | 예 | GitLab 프로젝트 ID |
enable_google_cloud_artifact_registry
| 부울 | 예 | Google Artifact Management 통합을 활성화해야 하는지를 나타내는 플래그 |
google_cloud_artifact_registry_project_id
| 문자열 | 예 | Artifact Registry의 Google Cloud 프로젝트 ID |
예시 요청:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.com/api/v4/projects/<your_project_id>/google_cloud/setup/integrations.sh"
러너 프로비저닝을 위한 Google Cloud 프로젝트 구성 스크립트
- GitLab 16.10에서 도입되었습니다.
프로젝트의 유지자(Maintainer) 역할을 갖고 있는 사용자는 다음 엔드포인트를 사용하여 Google Cloud 프로젝트를 러너 프로비저닝 및 실행을 위해 구성하는 셸 스크립트를 쿼리할 수 있습니다:
GET /projects/:id/google_cloud/setup/runner_deployment_project.sh
이 스크립트는 지정된 Google Cloud 프로젝트에서 준비 작업 구성 단계를 수행하며,
필요한 서비스를 활성화하고 GRITProvisioner
역할과 grit-provisioner
서비스 계정을 생성합니다.
지원되는 속성:
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id
| 정수 | 예 | GitLab 프로젝트 ID |
google_cloud_project_id
| 문자열 | 예 | Google Cloud 프로젝트의 ID |
예시 요청:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.com/api/v4/projects/<your_project_id>/google_cloud/setup/runner_deployment_project.sh?google_cloud_project_id=<your_google_cloud_project_id>"