Menghubungkan ke repositori Pusat Data Bitbucket

Halaman ini menjelaskan cara menghubungkan repositori Pusat Data Bitbucket ke Cloud Build.

Sebelum memulai

  • Enable the Cloud Build, Secret Manager, and Compute Engine APIs.

    Enable the APIs

Menghubungkan ke repositori Pusat Data Bitbucket

Konsol

Untuk menghubungkan repositori Pusat Data Bitbucket ke Cloud Build menggunakan konsol Google Cloud:

  1. Buka halaman Repositories di konsol Google Cloud.

    Buka halaman Repositori

  2. Di bagian atas halaman, pilih tab Generasi ke-1.

  3. Klik Connect Repository.

  4. Pilih Pusat Data Bitbucket.

    Anda akan melihat panel Connect Repository. Selesaikan langkah-langkah berikut untuk menghubungkan repositori Pusat Data Bitbucket:

    1. Region: Pilih region tempat koneksi Anda berada.

    2. Di bagian Select source code management provider, pilih Bitbucket Data Center.

    3. Koneksi host: Pilih nama koneksi host Anda dari menu drop-down.

    4. Klik Lanjutkan.

    5. Di bagian Select Repository, pilih repositori Pusat Data Bitbucket yang ingin Anda hubungkan ke Cloud Build.

    6. Setelah memilih akun dan repositori Bitbucket Data Center, baca pernyataan penyangkalan izin dan centang kotak di sampingnya untuk menunjukkan bahwa Anda menyetujui persyaratan yang ditampilkan.

    7. Klik Connect untuk menghubungkan repositori Anda.

  5. Klik Done. Secara opsional, klik Create a trigger untuk membuat pemicu.

API

Untuk menghubungkan repositori Pusat Data Bitbucket ke Cloud Build menggunakan API, selesaikan langkah-langkah berikut:

  1. 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 keterangan:

    • PROJECT_NUMBER adalah nomor project project Cloud Anda.
    • REGION adalah wilayah yang terkait dengan konfigurasi Pusat Data Bitbucket Anda.
    • BITBUCKET_DATA_CENTER_CONFIG_NAME adalah nama konfigurasi Pusat Data Bitbucket Anda.
    • PROJECT_KEY adalah kunci project Pusat Data Bitbucket 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 dengan https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
    • REPO_SLUG adalah slug repositori Pusat Data Bitbucket Anda.
  2. Jalankan perintah curl berikut di terminal 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 keterangan:

  • PROJECT_NUMBER adalah nomor project Google Cloud Anda.
  • PROJECT_ID adalah project ID Google Cloud Anda.
  • REGION adalah wilayah yang terkait dengan konfigurasi Pusat Data Bitbucket Anda.
  • BITBUCKET_DATA_CENTER_CONFIG_NAME adalah nama konfigurasi Pusat Data Bitbucket Anda. Jika berhasil, isi respons akan memuat instance Operation yang baru dibuat.
  1. 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 keterangan:

    • PROJECT_NUMBER adalah nomor project Google Cloud Anda.
    • PROJECT_ID adalah ID Google Cloud Anda.
    • REGION adalah wilayah yang terkait dengan konfigurasi Pusat Data Bitbucket Anda.
    • OPERATION_ID adalah ID operasi pembuatan konfigurasi Pusat Data Bitbucket Anda. Anda dapat menemukan ID Operasi di kolom name respons. Format kolom name 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 berisi done: true, yang menunjukkan bahwa operasi telah selesai. Jika repositori Pusat Data Bitbucket berhasil terhubung, Anda dapat melihat repositori yang terhubung di kolom response.bitbucketServerConnectedRepositories. Jika tidak, lihat kolom error untuk melihat laporan error mendetail.

Saat repositori terhubung, Cloud Build akan mengonfigurasi webhook di repositori di instance Pusat Data Bitbucket Anda. Repositori kemudian 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 keterangan:

  • CONFIG_NAME adalah nama konfigurasi Pusat Data Bitbucket
  • REGION adalah region koneksi host Pusat Data Bitbucket

Langkah selanjutnya