Halaman ini menjelaskan cara menghubungkan host GitLab ke Cloud Build.
Sebelum memulai
-
Aktifkan API Cloud Build and Secret Manager.
Menghubungkan ke host GitLab
Sebelum membuat koneksi host untuk instance GitLab, Anda harus membuat token akses pribadi di GitLab dengan menyelesaikan langkah-langkah berikut:
Login ke instance GitLab Enterprise Edition Anda.
Di halaman GitLab Enterprise Edition untuk instance Anda, klik avatar Anda di pojok kanan atas.
Klik Edit profil.
Di sidebar kiri, pilih Access tokens.
Anda akan melihat halaman Token Akses Pribadi.
Buat token akses dengan cakupan
api
untuk digunakan dalam menghubungkan dan memutuskan sambungan repositori.Buat token akses dengan cakupan
read_api
untuk memastikan repositori Cloud Build dapat mengakses kode sumber di repositori.
Konsol
Untuk menghubungkan host GitLab Anda ke Cloud Build:
Buka halaman Repositories di Konsol Google Cloud.
Anda akan melihat halaman Repositories.
Di bagian atas halaman, pilih tab generasi ke-2.
Pada pemilih project di panel atas, pilih project Google Cloud Anda.
Klik Create host connection untuk menghubungkan host baru ke Cloud Build.
Di panel kiri, pilih GitLab sebagai penyedia sumber.
Di bagian Configure Connection, masukkan informasi berikut:
Region: Pilih region untuk koneksi Anda.
Nama: Masukkan nama untuk koneksi Anda.
Di bagian Host details, pilih atau masukkan informasi berikut:
- Penyedia GitLab: Pilih GitLab.com sebagai penyedia Anda.
Di bagian Personal access tokens, masukkan informasi berikut:
Token akses API: Masukkan token dengan akses cakupan
api
. Token ini digunakan untuk menghubungkan dan memutuskan koneksi repositori.Membaca token akses API: Masukkan token dengan akses cakupan
read_api
. Pemicu Cloud Build menggunakan token ini untuk mengakses kode sumber di repositori.
Klik Connect.
Setelah mengklik tombol Connect, token akses pribadi Anda disimpan dengan aman di Secret Manager. Setelah koneksi host, Cloud Build juga membuat rahasia webhook atas nama Anda. Anda dapat melihat dan mengelola secret Anda di halaman Secret Manager.
Anda kini telah berhasil membuat koneksi GitLab.
gcloud
Sebelum menghubungkan host GitLab Anda ke Cloud Build, selesaikan langkah-langkah berikut untuk menyimpan kredensial Anda:
Buat rahasia webhook di Secret Manager dengan menjalankan perintah berikut:
cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create my-gle-webhook-secret --data-file=-
Jika Anda menyimpan secret di project Google Cloud selain di project yang akan digunakan untuk membuat koneksi host, masukkan perintah berikut untuk memberi project Anda akses ke agen layanan Cloud Build:
PN=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)") CLOUD_BUILD_SERVICE_AGENT="service-${PN}@gcp-sa-cloudbuild.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:CLOUD_BUILD_SERVICE_AGENT \ --role="roles/secretmanager.admin"
Dengan keterangan:
- PROJECT_ID adalah ID project Google Cloud Anda.
- CLOUD_BUILD_SERVICE_AGENT adalah
Sekarang Anda dapat melanjutkan untuk menghubungkan host GitLab Anda ke Cloud Build.
Selesaikan langkah berikut:
Untuk menghubungkan host GitLab Anda ke Cloud Build:
Masukkan perintah berikut untuk membuat koneksi GitLab:
gcloud builds connections create gitlab CONNECTION_NAME \ --host-uri=HOST_URI \ --project=PROJECT_ID \ --region=REGION \ --authorizer-token-secret-version=projects/PROJECT_ID/secrets/API_TOKEN/versions/SECRET_VERSION \ --read-authorizer-token-secret-version=projects/PROJECT_ID/secrets/READ_TOKEN/versions/SECRET_VERSION \ --webhook-secret-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET/versions/SECRET_VERSION
Dengan keterangan:
- CONNECTION_NAME adalah nama koneksi Anda.
- HOST_URI adalah URI instance GitLab Anda. Contoh,
https://my-gle-server.net
. - PROJECT_ID adalah ID project Google Cloud Anda.
- REGION adalah region untuk koneksi Anda.
- API_TOKEN adalah nama token Anda dengan cakupan
api
. - READ_TOKEN adalah nama token Anda dengan cakupan
read_api
. - SECRET_VERSION adalah versi rahasia Anda.
- WEBHOOK_SECRET adalah rahasia webhook Anda.
Anda kini telah berhasil membuat koneksi GitLab.
Langkah selanjutnya
- Pelajari cara menghubungkan repositori GitLab.
- Pelajari cara membangun dan men-deploy workload ke Google Cloud menggunakan komponen CI/CD yang dikelola Google di pipeline GitLab Anda. Lihat GitLab di Google Cloud.