Halaman ini menjelaskan cara menghubungkan ke repositori Bitbucket Data Center ke Cloud Build.
Sebelum memulai
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
- Ikuti petunjuk untuk menghubungkan host Pusat Data Bitbucket sebelum terhubung ke repositori.
Menghubungkan ke repositori Pusat Data Bitbucket
Konsol
Untuk menghubungkan repositori Pusat Data Bitbucket ke Cloud Build menggunakan konsol Google Cloud :
Buka halaman Repositories di konsol Google Cloud .
Di bagian atas halaman, pilih tab Generasi ke-1.
Klik Connect Repository.
Pilih Bitbucket Data Center.
Anda akan melihat panel Connect Repository. Selesaikan langkah-langkah berikut untuk menghubungkan repositori Bitbucket Data Center Anda:
Region: Pilih region tempat koneksi Anda berada.
Di bagian Pilih penyedia pengelolaan kode sumber, pilih Bitbucket Data Center.
Host connection: Pilih nama koneksi host Anda dari menu drop-down.
Klik Lanjutkan.
Di bagian Select Repository, pilih repositori Pusat Data Bitbucket yang ingin Anda hubungkan ke Cloud Build.
Setelah Anda memilih akun dan repositori Bitbucket Data Center, baca pernyataan penyangkalan izin dan centang kotak di sampingnya untuk menunjukkan bahwa Anda menyetujui persyaratan yang ditampilkan.
Klik Connect untuk menghubungkan repositori Anda.
Klik Selesai. Atau, klik Buat pemicu untuk membuat pemicu.
API
Untuk menghubungkan repositori Bitbucket Data Center ke Cloud Build menggunakan API, selesaikan langkah-langkah berikut:
Buat file JSON dengan konten berikut:
{ "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME", "requests": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME", "bitbucketServerConnectedRepository": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME", "repo": { "projectKey":"PROJECT_KEY", "repoSlug": "REPO_SLUG", } } } }
Dengan:
- PROJECT_NUMBER adalah nomor project Cloud Anda.
- REGION adalah region yang terkait dengan konfigurasi Pusat Data Bitbucket Anda.
- BITBUCKET_DATA_CENTER_CONFIG_NAME adalah nama konfigurasi Bitbucket Data Center Anda.
- PROJECT_KEY adalah kunci project Bitbucket Data Center Anda. Jika Anda ingin menghubungkan repositori pribadi, kunci project Anda harus berisi simbol tilde (
~
) sebelum nama pengguna Anda. Contohnya,~${USERNAME}
. URL lengkap untuk repositori host mirip denganhttps://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG adalah slug repositori Bitbucket Data Center Anda.
Jalankan perintah
curl
berikut di terminal Anda dari direktori yang sama dengan file JSON:
curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json
Dengan:
- PROJECT_NUMBER adalah nomor project Google Cloud Anda.
- PROJECT_ID adalah Google Cloud project ID Anda.
- REGION adalah region yang terkait dengan konfigurasi Pusat Data Bitbucket Anda.
- BITBUCKET_DATA_CENTER_CONFIG_NAME adalah nama konfigurasi Bitbucket Data Center Anda. Jika berhasil, isi respons akan memuat instance Operation yang baru dibuat.
Jalankan perintah
curl
berikut di terminal Anda:curl -X GET -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Dengan:
- PROJECT_NUMBER adalah nomor project Google Cloud Anda.
- PROJECT_ID adalah Google Cloud ID Anda.
- REGION adalah region yang terkait dengan konfigurasi Pusat Data Bitbucket Anda.
- OPERATION_ID adalah ID operasi pembuatan konfigurasi Bitbucket Data Center Anda. Anda dapat menemukan ID Operasi
di kolom
name
respons Anda. Format kolomname
dalam respons Anda akan terlihat seperti berikut:projects/project-id/locations/region/operations/operation-id
.
Anda mungkin perlu terus menjalankan perintah API
GetOperation
hingga respons berisidone: true
, yang menunjukkan bahwa operasi telah selesai. Jika repositori Pusat Data Bitbucket berhasil terhubung, Anda dapat melihat repositori yang terhubung di kolomresponse.bitbucketServerConnectedRepositories
. Jika tidak, lihat kolomerror
untuk laporan error mendetail.
Saat repositori terhubung, Cloud Build akan mengonfigurasi webhook di repositori dalam instance Pusat Data Bitbucket Anda. Kemudian, repositori akan mengirim webhook untuk memanggil pemicu Pusat Data Bitbucket yang sesuai saat Anda membuat perubahan pada repositori. Repositori juga dapat dihubungkan beberapa kali dengan beberapa koneksi host. Untuk mempelajari cara mengelola webhook, lihat Mengelola webhook.
Untuk menemukan webhook, Anda memerlukan ID webhook. ID webhook untuk setiap repositori yang terhubung dapat ditemukan di BitbucketServerConfig
.
Masukkan perintah berikut untuk mengambil ID webhook:
gcloud alpha builds enterprise-config bitbucketserver describe CONFIG_NAME --region=REGION
Dengan:
- CONFIG_NAME adalah nama konfigurasi Bitbucket Data Center
- REGION adalah region koneksi host Pusat Data Bitbucket
Langkah berikutnya
- Pelajari cara membangun repositori dari Pusat Data Bitbucket.
- Pelajari cara membangun repositori dari Pusat Data Bitbucket di jaringan pribadi.
- Pelajari cara melakukan deployment biru/hijau di Compute Engine.