Membangun repositori dari Pusat Data Bitbucket

Dengan Cloud Build, Anda dapat membuat pemicu untuk mem-build dari repositori yang dihosting di Bitbucket Data Center sehingga Anda dapat menjalankan build sebagai respons terhadap peristiwa seperti push commit atau permintaan pull yang terkait dengan repositori Pusat Data Bitbucket Anda.

Halaman ini menjelaskan cara mengaktifkan fungsi pemicu pada instance Pusat Data Bitbucket.

Sebelum memulai

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

    Enable the APIs

Membuat pemicu Pusat Data Bitbucket

Bagian ini menjelaskan cara menghubungkan repositori Pusat Data Bitbucket ke Cloud Build dan membuat pemicu untuk otomatis memanggil build pada repositori yang terhubung. Jika Anda ingin menggunakan pemicu Pusat Data Bitbucket di jaringan pribadi, lihat Membuat repositori dari Pusat Data Bitbucket di jaringan pribadi untuk mengetahui petunjuk selengkapnya.

Konsol

Untuk membuat pemicu Pusat Data Bitbucket menggunakan konsol Google Cloud:

  1. Buka halaman Pemicu:

    Buka halaman Pemicu

  2. Pilih project Anda dari bagian atas halaman, lalu klik Open.

  3. Klik Create trigger.

  4. Masukkan setelan pemicu berikut:

    • Nama: Nama untuk pemicu Anda.

    • Region: Pilih wilayah untuk pemicu Anda.

      • Jika Anda memilih global sebagai region, Cloud Build akan menggunakan kumpulan default untuk menjalankan build.
      • Jika Anda memilih region non-global dan file konfigurasi build yang terkait dengan pemicu menentukan kumpulan pribadi, Cloud Build akan menggunakan kumpulan pribadi untuk menjalankan build Anda. Dalam hal ini, region yang Anda tentukan dalam pemicu harus cocok dengan region tempat Anda membuat kumpulan pribadi.
      • Jika Anda memilih region non-global dan file konfigurasi build yang terkait dengan pemicu tidak menentukan kumpulan pribadi, Cloud Build akan menggunakan kumpulan default untuk menjalankan build Anda di region yang sama dengan pemicu.
    • Deskripsi (Opsional): Deskripsi untuk pemicu Anda.

    • Peristiwa: Pilih peristiwa repositori untuk memanggil pemicu Anda.

      • Push ke cabang: Tetapkan pemicu untuk memulai build pada commit ke cabang tertentu.

      • Push tag baru: Tetapkan pemicu untuk memulai build pada commit yang berisi tag tertentu.

      • Permintaan pull: Tetapkan pemicu untuk memulai build pada commit untuk permintaan pull.

    • Sumber: Pilih generasi ke-1 sebagai sumber Anda.

      • Repository: Dari daftar repositori yang tersedia, pilih repositori. Untuk menghubungkan repositori baru, lihat Menghubungkan ke repositori Pusat Data Bitbucket.

      • Branch atau Tag: Tentukan ekspresi reguler dengan nilai cabang atau tag yang akan dicocokkan.

      • Kontrol komentar: Jika Anda memilih Permintaan pull sebagai Peristiwa, pilih salah satu opsi berikut untuk mengontrol apakah build akan otomatis dijalankan oleh pemicu:

      • Wajib kecuali untuk pemilik dan kolaborator: Saat permintaan pull dibuat atau diperbarui oleh pemilik repositori atau kolaborator, build akan otomatis dijalankan oleh pemicu. Jika kontributor eksternal memulai tindakan, build hanya akan dijalankan setelah pemilik atau kolaborator mengomentari /gcbrun pada permintaan pull.

      • Wajib: Saat permintaan pull dibuat atau diupdate oleh kontributor, build hanya akan dijalankan setelah pemilik atau kolaborator mengomentari /gcbrun pada permintaan pull. Build dijalankan setiap kali perubahan pada permintaan pull dibuat.

      • Tidak diperlukan: Saat permintaan pull dibuat atau diperbarui oleh kontributor, build akan otomatis dijalankan oleh pemicu.

    • Konfigurasi: Pilih file konfigurasi build yang berada di repositori atau konfigurasi build Anda secara inline pada pemicu.

    • Type: Pilih jenis konfigurasi yang akan digunakan untuk build Anda.

      • File konfigurasi Cloud Build (yaml atau json): Menggunakan file konfigurasi build untuk konfigurasi Anda.
      • Dockerfile: Gunakan Dockerfile untuk konfigurasi Anda.
    • Lokasi: Menentukan lokasi untuk konfigurasi Anda.

      • Repositori: Jika file konfigurasi Anda berada di repositori Anda, berikan lokasi file konfigurasi build atau direktori Dockerfile dan nama untuk image yang dihasilkan. Jika konfigurasi Anda adalah Dockerfile, Anda juga dapat menyediakan waktu tunggu untuk build. Setelah memberikan nama Dockerfile dan image, Anda akan melihat pratinjau perintah docker build yang akan dijalankan oleh build Anda.

      • Inline: Jika memilih Cloud Build configuration file (yaml atau json) sebagai opsi konfigurasi, Anda dapat menentukan konfigurasi build secara inline. Klik Open Editor untuk menulis file konfigurasi build di Google Cloud Console menggunakan sintaksis YAML atau JSON. Klik Done untuk menyimpan konfigurasi build Anda.

  5. Klik Create untuk membuat pemicu Pusat Data Bitbucket Anda.

gcloud

Untuk membuat pemicu Pusat Data Bitbucket menggunakan perintah gcloud, Anda harus menjalankan perintah gcloud builds triggers create bitbucketserver berikut di terminal Anda:

gcloud builds triggers create bitbucketserver
--name=TRIGGER_NAME \
--project-key=PROJECT_KEY \
--repo-slug=REPO_SLUG \
--bitbucket-server-config-resource=projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/ID \
--branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
--build-config=BUILD_CONFIG

Dengan keterangan:

  • TRIGGER_NAME adalah nama pemicu Anda.
  • PROJECT_KEY adalah kunci project Pusat Data Bitbucket Anda.
  • REPO_SLUG adalah slug dari repositori Pusat Data Bitbucket Anda.
  • PROJECT_NUMBER adalah nomor project project Google Cloud Anda.
  • REGION adalah region yang terkait dengan konfigurasi Pusat Data Bitbucket Anda.
  • ID adalah ID BitbucketServerConfig Anda.
  • BRANCH_NAME adalah ekspresi reguler yang cocok dengan cabang Anda jika Anda ingin menetapkan pemicu untuk membangun cabang tertentu.
  • TAG_NAME adalah ekspresi reguler yang cocok dengan tag jika Anda ingin menetapkan pemicu untuk membuat tag tertentu.
  • BUILD_CONFIG adalah jalur ke file konfigurasi build Anda.

API

Untuk membuat pemicu Pusat Data Bitbucket dengan API, gunakan template JSON berikut.

{
  "filename": "cloudbuild.yaml",
  "name": "curl-trigger",
  "description": "curl trigger",
  "bitbucket_server_trigger_config": {
      "repo_slug": "REPO_SLUG",
      "project_key": "PROJECT_KEY",
      "push": {
          "branch": "BRANCH_NAME" # "tag": "TAG_NAME"
      },
      "bitbucket_server_config_resource": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/ID"
  }
}

Dengan keterangan:

  • REPO_SLUG adalah slug dari repositori Pusat Data Bitbucket Anda.
  • PROJECT_KEY adalah kunci project Pusat Data Bitbucket Anda.
  • BRANCH_NAME adalah ekspresi reguler yang cocok dengan cabang Anda jika Anda ingin menetapkan pemicu untuk membangun cabang tertentu.
  • TAG_NAME adalah ekspresi reguler yang cocok dengan tag jika Anda ingin menetapkan pemicu untuk membuat tag tertentu.
  • PROJECT_NUMBER adalah nomor project project Google Cloud Anda.
  • REGION adalah region yang terkait dengan konfigurasi Pusat Data Bitbucket Anda.
  • ID adalah ID BitbucketServerConfig Anda.

Masukkan perintah curl berikut di terminal Anda, dengan PROJECT_ID sebagai project ID Google Cloud Anda:

curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/triggers -d @trigger.json

Berbagi data

Data yang dikirim ke Pusat Data Bitbucket dari Cloud Build membantu Anda mengidentifikasi pemicu berdasarkan nama dan melihat hasil build di repositori Pusat Data Bitbucket Anda.

Data berikut dibagikan antara Cloud Build dan host Pusat Data Bitbucket Anda:

  • ID project Google Cloud
  • Trigger name

Berbagi data diaktifkan secara otomatis untuk Pusat Data Bitbucket.

Langkah selanjutnya