Halaman ini menjelaskan cara menghubungkan repositori Bitbucket Server ke Cloud Build.
Sebelum memulai
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
- Ikuti petunjuk untuk menghubungkan host Bitbucket Server sebelum menghubungkan repositori.
Menghubungkan ke repositori Bitbucket Server
Konsol
Untuk menghubungkan repositori Bitbucket Server 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 Server.
Anda akan melihat panel Connect Repository. Selesaikan langkah-langkah berikut untuk menghubungkan repositori Bitbucket Server Anda:
Region: Pilih region tempat koneksi Anda berada.
Di bagian Select source code management provider, pilih Bitbucket Server.
Host connection: Pilih nama koneksi host Anda dari menu drop-down.
Klik Lanjutkan.
Di bagian Select Repository, pilih repositori Bitbucket Server yang ingin Anda hubungkan ke Cloud Build.
Setelah memilih akun dan repositori Bitbucket Server, baca pernyataan penyangkalan izin dan centang kotak di sampingnya untuk menunjukkan bahwa Anda menyetujui persyaratan yang ditampilkan.
Klik Connect untuk menghubungkan repositori Anda.
Saat repositori terhubung, Cloud Build akan mengonfigurasi webhook di repositori di instance Bitbucket Server Anda. Repositori kemudian mengirimkan webhook untuk memanggil pemicu Server 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 keterangan:
- CONFIG_NAME adalah nama konfigurasi Bitbucket Server
- REGION adalah region koneksi host Bitbucket Server
Klik Done. Secara opsional, klik Create a trigger untuk membuat pemicu.
API
Untuk menghubungkan repositori Bitbucket Server ke Cloud Build menggunakan API, selesaikan langkah-langkah berikut:
Gunakan template JSON berikut untuk menghubungkan repositori Anda:
{ "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME", "requests": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME", "bitbucketServerConnectedRepository": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME", "repo": { "projectKey": "PROJECT_KEY", "repoSlug": "REPO_SLUG" } } } }
Dengan keterangan:
- PROJECT_NUMBER adalah nomor project project Cloud Anda.
- REGION adalah region yang terkait dengan konfigurasi Bitbucket Server Anda.
- BITBUCKET_SERVER_CONFIG_NAME adalah nama konfigurasi Server Bitbucket Anda.
- PROJECT_KEY adalah kunci project Bitbucket Server 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 mungkin terlihat sepertihttps://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG adalah slug repositori Bitbucket Server Anda.
Masukkan perintah
curl
berikut di terminal Anda: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_SERVER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json
Dengan keterangan:
- PROJECT_NUMBER adalah nomor project Cloud Anda.
- PROJECT_ID adalah project ID Cloud Anda.
- REGION adalah region yang terkait dengan konfigurasi Bitbucket Server Anda.
- BITBUCKET_SERVER_CONFIG_NAME adalah nama konfigurasi Bitbucket Server Anda.
Jika berhasil, isi respons memuat instance Operation yang baru dibuat.
Masukkan 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 keterangan:
- PROJECT_NUMBER adalah nomor project Cloud Anda.
- PROJECT_ID adalah project ID Cloud Anda.
- REGION adalah region yang terkait dengan konfigurasi Bitbucket Server Anda.
- OPERATION_ID adalah ID operasi pembuatan konfigurasi Bitbucket Server Anda.
Anda dapat menemukan ID Operasi di kolom
name
respons. Format kolomname
dalam respons Anda 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 Bitbucket Server berhasil terhubung, Anda dapat melihat repositori yang terhubung di kolomresponse.bitbucketServerConnectedRepositories
. Jika tidak, lihat kolomerror
untuk melihat laporan error mendetail.
Langkah selanjutnya
- Pelajari cara mem-build repositori dari Bitbucket Server.
- Pelajari cara mem-build repositori dari Bitbucket Server di jaringan pribadi.
- Pelajari cara melakukan deployment blue/green di Compute Engine.