Membangun repositori dari Pusat Data Bitbucket

Cloud Build memungkinkan Anda membuat pemicu untuk mem-build dari repositori yang dihosting di Pusat Data Bitbucket, 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 di instance Bitbucket Data Center.

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 di repositori yang terhubung. Jika Anda ingin menggunakan pemicu Pusat Data Bitbucket di jaringan pribadi, lihat Mem-build repositori dari Pusat Data Bitbucket di jaringan pribadi untuk mengetahui petunjuk lebih lanjut.

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 Buka.

  3. Klik Create trigger.

  4. Masukkan setelan pemicu berikut:

    • Nama: Nama untuk pemicu Anda.

    • Region: Pilih region untuk pemicu Anda.

      • Jika Anda memilih global sebagai region, Cloud Build akan menggunakan kumpulan default untuk menjalankan build Anda.
      • 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 di 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 di region yang sama dengan pemicu Anda.
    • 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 ke permintaan pull.

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

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

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

      • Kontrol komentar: Jika Anda memilih Pull request 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 atau kolaborator repositori, build akan otomatis dieksekusi oleh pemicu. Jika kontributor eksternal memulai tindakan, build hanya akan dieksekusi setelah pemilik atau kolaborator mengomentari /gcbrun pada permintaan pull.

      • Wajib: Saat permintaan pull dibuat atau diperbarui oleh kontributor, build hanya akan dieksekusi setelah pemilik atau kollaborator memberikan komentar /gcbrun pada permintaan pull. Build dieksekusi setiap kali perubahan pada permintaan pull dilakukan.

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

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

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

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

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

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

  5. Klik Create untuk membuat pemicu Pusat Data Bitbucket.

gcloud

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

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 repositori Pusat Data Bitbucket Anda.
  • PROJECT_NUMBER adalah nomor project project Google Cloud Anda.
  • REGION adalah wilayah 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 mem-build cabang tertentu.
  • TAG_NAME adalah ekspresi reguler yang cocok dengan tag Anda jika Anda ingin menetapkan pemicu untuk membuat tag tertentu.
  • BUILD_CONFIG adalah jalur ke file konfigurasi build Anda.

API

Untuk membuat pemicu Data Center 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 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 mem-build cabang tertentu.
  • TAG_NAME adalah ekspresi reguler yang cocok dengan tag Anda jika Anda ingin menetapkan pemicu untuk membuat tag tertentu.
  • PROJECT_NUMBER adalah nomor project project Google Cloud Anda.
  • REGION adalah wilayah yang terkait dengan konfigurasi Pusat Data Bitbucket Anda.
  • ID adalah ID BitbucketServerConfig Anda.

Masukkan perintah curl berikut di terminal, dengan PROJECT_ID adalah 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.

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