Membangun repositori dari Bitbucket Server

Dengan Cloud Build, Anda dapat membuat pemicu untuk membangun dari repositori yang dihosting di Bitbucket Server. Anda dapat menjalankan build sebagai respons terhadap peristiwa seperti push commit atau permintaan penggabungan yang terkait dengan repositori Bitbucket Server Anda.

Halaman ini menjelaskan cara mengaktifkan pemicu build untuk instance Bitbucket Server. Untuk mengetahui informasi selengkapnya, lihat Pemicu Cloud Build dan Repositori Cloud Build.

Sebelum memulai

  • Enable the Cloud Build and Secret Manager APIs.

    Enable the APIs

Untuk membuat pemicu untuk repositori Bitbucket Server, Anda harus memiliki koneksi antara Google Cloud dan repositori Anda. Untuk membuat koneksi melalui aplikasi Bitbucket Server di Google Cloud, lihat Menghubungkan ke repositori Bitbucket Server.

Membuat pemicu Bitbucket Server

Bagian ini menjelaskan cara menghubungkan repositori Bitbucket Server ke Cloud Build dan membuat pemicu untuk otomatis memanggil build di repositori yang terhubung. Jika Anda ingin menggunakan pemicu Bitbucket Server di jaringan pribadi, lihat Membangun repositori dari Bitbucket Server di jaringan pribadi untuk mengetahui petunjuk lebih lanjut.

Google Cloud console

Untuk membuat pemicu Bitbucket Server menggunakan konsol Google Cloud , lakukan hal berikut:

  1. Buka halaman Pemicu di konsol Google Cloud .

    Buka halaman Pemicu

  2. Pilih Google Cloud project Anda, lalu klik Buka.

  3. Klik Create trigger.

  4. Masukkan setelan pemicu berikut:

    • Nama: Masukkan nama untuk pemicu Anda.

    • Region: Pilih region untuk pemicu Anda.

      • Jika 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 pool pribadi.
      • Jika file konfigurasi build yang terkait dengan pemicu tidak menentukan kumpulan pribadi, maka Cloud Build menggunakan kumpulan default untuk menjalankan build Anda di region yang sama dengan pemicu Anda.

    • Deskripsi (opsional): Masukkan 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: Konfigurasi informasi tentang repositori Bitbucket Server Anda:

      • Layanan repositori: Pilih repositori Cloud Build.

      • Pembuatan repositori: Pilih Developer Connect sebagai sumber Anda.

      • Repositori: Dari daftar repositori yang tersedia, pilih repositori.

      • Cabang atau Tag: Tentukan ekspresi reguler dengan cabang atau nilai tag yang akan dicocokkan. Untuk mengetahui informasi mengenai sintaksis ekspresi reguler yang dapat diterima, lihat sintaksis RE2.

      • Kontrol komentar: Jika Anda memilih Pull request sebagai Peristiwa, pilih salah satu opsi berikut untuk mengontrol apakah build dieksekusi secara otomatis oleh pemicu:

        • Wajib kecuali untuk pemilik dan kolaborator: Saat permintaan tarikan 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 pull request.

        • Wajib: Saat permintaan pull dibuat atau diperbarui oleh kontributor mana pun, build hanya dijalankan setelah pemilik atau kolaborator mengomentari /gcbrun permintaan pull. Build dieksekusi setiap kali perubahan dilakukan pada permintaan pull.

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

    • Konfigurasi: Pilih file konfigurasi build yang ada di repositori Anda atau konfigurasi 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 Anda. Setelah memberikan Dockerfile dan nama image, Anda akan melihat pratinjau perintah docker build untuk build Anda.

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

  5. Klik Create untuk membuat pemicu Bitbucket Cloud.

gcloud CLI

Untuk membuat pemicu Bitbucket Server menggunakan perintah gcloud, jalankan perintah berikut:

    gcloud alpha builds triggers create developer connect
      --name=TRIGGER_NAME \
      --git-repository-link=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/gitRepositoryLinks/REPO_NAME \
      --branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
      --build-config=BUILD_CONFIG_FILE \
      --region=REGION \
      --service-account=SERVICE-ACCOUNT

Dengan:

  • TRIGGER_NAME adalah nama pemicu Anda.
  • PROJECT_ID adalah Google Cloud project ID Anda.
  • REGION adalah region pemicu Anda.
  • CONNECTION_NAME adalah nama koneksi Bitbucket Server Anda.
  • GIT_REPOSITORY_LINK adalah link ke repositori Git Anda.
  • BRANCH_PATTERN adalah nama cabang di repositori Anda untuk memanggil build.
  • TAG_PATTERN adalah nama tag di repositori Anda untuk memanggil build.
  • BUILD_CONFIG_FILE adalah jalur ke file konfigurasi build Anda.
  • SERVICE-ACCOUNT adalah akun layanan yang akan digunakan untuk operasi pemicu dan build.

API

Untuk membuat pemicu Bitbucket Server 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"
        "comment_control": "COMMENT_SETTING"
    }
}

Dengan:

  • REPO_SLUG adalah slug repositori Bitbucket Server Anda. Untuk mengetahui informasi selengkapnya, lihat Panduan Bitbucket tentang slug repositori.
  • PROJECT_KEY adalah kunci project Bitbucket Server Anda. PROJECT_KEY peka huruf besar/kecil.
  • BRANCH_NAME adalah ekspresi reguler cabang Anda jika Anda ingin menyetel pemicu untuk membangun cabang tertentu.
  • TAG_NAME adalah ekspresi reguler tag Anda jika Anda ingin menyetel pemicu untuk membuat tag tertentu.
  • PROJECT_NUMBER adalah nomor project Cloud Anda.
  • REGION adalah region yang terkait dengan konfigurasi Bitbucket Server Anda.
  • ID adalah ID BitbucketServerConfig Anda.
  • COMMENT_SETTING adalah setelan untuk mengontrol apakah pemicu build memerlukan /gcbrun dalam komentar agar build dapat berjalan. Untuk mengetahui informasi selengkapnya, lihat commentControl.

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/triggers -d @trigger.json

Dengan:

  • PROJECT_NUMBER adalah nomor project Google Cloud Anda.
  • PROJECT_ID adalah Google Cloud project ID Anda.

Berbagi data

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

Data berikut dibagikan antara Cloud Build dan Bitbucket Server:

  • Google Cloud project ID
  • Nama pemicu

Berbagi data diaktifkan secara otomatis untuk Bitbucket Server.

Langkah berikutnya