Menghubungkan ke host Pusat Data Bitbucket

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

Sebelum memulai

  • Aktifkan API Cloud Build, Secret Manager, and Compute Engine.

    Mengaktifkan API

  • Siapkan kode sumber Anda di repositori Pusat Data Bitbucket.
  • Memiliki Dockerfile atau file konfigurasi Cloud Build di repositori sumber Pusat Data Bitbucket Anda.
  • Jika Anda belum menginstal instance Pusat Data Bitbucket, lihat Menginstal Pusat Data Bitbucket untuk mengetahui petunjuknya.
  • Untuk menggunakan perintah gcloud di halaman ini, instal Google Cloud CLI.

Menghubungkan ke host Pusat Data Bitbucket

Konsol

Untuk menghubungkan host 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 Host.

  4. Pilih Bitbucket Data Center dari menu drop-down.

    Anda akan melihat panel Connect host.

    Masukkan informasi berikut untuk menghubungkan instance Pusat Data Bitbucket Anda ke Cloud Build:

    1. Region: Pilih region untuk koneksi Anda.

    2. Nama: Masukkan nama untuk koneksi Anda.

    3. URL host: URL host instance Pusat Data Bitbucket Anda. Misalnya, https://bbs.example-test.com:7990.

    4. Kunci Google Cloud API: Masukkan kunci API yang digunakan untuk mengautentikasi kredensial Anda.

    5. Sertifikat CA: Sertifikat yang ditandatangani sendiri oleh Anda. Sertifikat Anda tidak boleh berukuran lebih dari 10 KB dan harus dalam format PEM (.pem, .cer,atau .crt). Jika Anda mengosongkan bagian ini, Google Cloud akan menggunakan sertifikat dari kumpulan sertifikat default.

    6. Nama pengguna: Nama pengguna akun Pusat Data Bitbucket Anda. Akun ini harus memiliki akses admin ke repositori yang ingin Anda hubungkan dengan Cloud Build.

    7. Token akses baca: Masukkan token akses pribadi akun Bitbucket Data Center Anda dengan izin baca.

    8. Token akses admin: Masukkan token akses pribadi akun Bitbucket Data Center Anda dengan izin admin di project dan repositori.

    9. Pada Jenis jaringan, pilih salah satu opsi berikut:

      1. Public internet: Pilih opsi ini jika instance Anda dapat diakses menggunakan internet publik.

      2. Jaringan pribadi: Pilih opsi ini jika instance Anda dihosting di jaringan pribadi.

        1. Project: Pilih project ID Google Cloud Anda.

        2. Jaringan: Pilih jaringan dari menu drop-down. Jika Anda belum membuat jaringan, lihat Membuat dan mengelola jaringan VPC untuk mempelajari cara membuat jaringan.

        3. Rentang IP: Masukkan rentang IP internal yang dapat ditetapkan ke VM dalam rentang alokasi jaringan yang di-peering.

          Anda dapat menentukan rentang tersebut menggunakan notasi pemilihan rute Classless Inter-Domain Routing (CIDR) dalam format STARTING_IP/SUBNET_PREFIX_SIZE. Misalnya, 192.0.2.0/24 memiliki panjang awalan 24. 24 bit pertama rentang IP digunakan sebagai subnet mask (192.0.2.0) sedangkan kemungkinan alamat host berkisar dari 192.0.2.0 hingga 192.0.2.255.

          Nilai panjang awalan Anda tidak boleh lebih dari /29. Jika tidak ada nilai yang ditentukan untuk rentang tersebut, nilai default /24 akan otomatis ditetapkan. Jika tidak ada nilai yang ditentukan untuk panjang awalan, alamat IP akan otomatis ditetapkan dalam jaringan VPC yang di-peering. Jika tidak ada nilai yang ditentukan untuk alamat IP, alamat IP akan otomatis diberi rentang dalam jaringan VPC yang di-peering.

  5. Klik Connect Host.

    Jika instance Pusat Data Bitbucket Anda berada di jaringan yang di-peering, proses menghubungkan host mungkin memerlukan waktu beberapa menit.

    Anda akan dialihkan ke panel Connect Repository.

    Setelah membuat koneksi host, token akses pribadi dan rahasia webhook Anda akan disimpan dengan aman di Secret Manager. Anda dapat melihat dan mengelola secret Anda di halaman Secret Manager.

gcloud

Untuk menghubungkan host Pusat Data Bitbucket ke Cloud Build menggunakan perintah gcloud, Anda harus menjalankan perintah gcloud alpha builds enterprise-config bitbucketserver create di terminal Anda. Tidak seperti menghubungkan host menggunakan Konsol Google Cloud, Anda harus menyimpan token akses pribadi dan rahasia webhook secara manual di Secret Manager sebelum menjalankan perintah berikut:

gcloud alpha builds enterprise-config bitbucketserver create
    --name=BITBUCKET_DATA_CENTER_CONFIG_NAME \
    --user-name=USERNAME \
    --host-uri=HOST_URI \
    --admin-access-token-secret-version=ADMIN_ACCESS_TOKEN_SECRET_VERSION \
    --read-access-token-secret-version=READ_ACCESS_TOKEN_SECRET_VERSION \
    --webhook-secret-secret-version=WEBHOOK_SECRET_SECRET_VERSION \
    --api-key=API_KEY \
    --peered-network=PEERED_NETWORK \
    --peered-network-ip-range=PEERED_NETWORK_IP_RANGE \
    --ssl-ca-file=SSL_CA_FILE

Dengan keterangan:

  • BITBUCKET_DATA_CENTER_CONFIG_NAME adalah nama konfigurasi Pusat Data Bitbucket Anda.
  • USERNAME adalah nama pengguna Pusat Data Bitbucket Anda.
  • HOST_URI adalah URI host instance Pusat Data Bitbucket Anda.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION adalah nama resource token akses admin Anda yang disimpan di Secret Manager. Format yang diharapkan untuk secret yang disimpan di Secret Manager adalah projects/${PROJECT_ID}/secrets/${SECRET_NAME}/versions/${VERSION_NUMBER}. Anda dapat menentukan latest sebagai versi untuk menggunakan versi terbaru rahasia Anda. Hal ini berlaku untuk setiap resource yang disimpan di Secret Manager.
  • READ_ACCESS_TOKEN_SECRET_VERSION adalah nama resource token akses baca yang disimpan di Secret Manager.
  • WEBHOOK_SECRET_SECRET_VERSION adalah nama resource rahasia webhook Anda yang disimpan di Secret Manager.
  • API_KEY adalah kunci Google Cloud API.
  • Opsional: PEERED_NETWORK adalah jaringan VPC yang akan dihubungkan untuk instance Pusat Data Bitbucket lokal Anda. Untuk mempelajari lebih lanjut, lihat Membuat repositori dari Pusat Data Bitbucket di jaringan pribadi.

  • Opsional: PEERED_NETWORK_IP_RANGE adalah rentang IP internal yang dapat ditetapkan ke VM dalam rentang alokasi jaringan yang di-peering.

  • SSL_CA_FILE adalah jalur ke file lokal yang berisi sertifikat SSL Anda yang akan digunakan untuk permintaan ke Pusat Data Bitbucket. Sertifikat harus dalam format PEM.

API

Untuk menghubungkan host Pusat Data Bitbucket ke Cloud Build menggunakan API, gunakan template JSON berikut. Tidak seperti menghubungkan host menggunakan Konsol Google Cloud, Anda harus menyimpan token akses pribadi dan rahasia webhook secara manual di Secret Manager sebelum memanggil API:

{
    "hostUri": "HOST_URI",
    "username": "USERNAME",
    "apiKey": "API_KEY",
    "secrets": {
      "adminAccessTokenVersionName": "ADMIN_ACCESS_TOKEN_SECRET_VERSION",
      "readAccessTokenVersionName": "READ_ACCESS_TOKEN_SECRET_VERSION",
      "webhookSecretVersionName": "WEBHOOK_SECRET_SECRET_VERSION",
    },
    "peeredNetwork": "PEERED_NETWORK",
    "peeredNetworkIpRange": "PEERED_NETWORK_IP_RANGE",
    "sslCa": "SSL_CERTIFICATE"
}

Dengan keterangan:

  • HOST_URI adalah URI host instance Pusat Data Bitbucket Anda.
  • USERNAME adalah nama pengguna Pusat Data Bitbucket Anda.
  • API_KEY adalah kunci Google Cloud API.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION adalah nama resource token akses admin Anda yang disimpan di Secret Manager. Anda mungkin perlu memberikan peran Secret Manager ke akun layanan Cloud Build, service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com. Untuk mempelajari lebih lanjut, lihat Memberikan peran Secret Manager ke akun layanan Anda.

  • READ_ACCESS_TOKEN_SECRET_VERSION adalah nama resource token akses baca Anda yang disimpan di Secret Manager.

  • WEBHOOK_SECRET_SECRET_VERSION adalah nama resource rahasia webhook Anda yang disimpan di Secret Manager.

  • Opsional: PEERED_NETWORK adalah jaringan VPC yang akan di-peering untuk instance Pusat Data Bitbucket lokal Anda.

    Anda dapat menentukan rentang tersebut menggunakan notasi perutean Classless Inter-Domain Routing (CIDR) dalam format STARTING_IP/SUBNET_PREFIX_SIZE. Misalnya, 192.0.2.0/24 memiliki panjang awalan 24. 24 bit pertama rentang IP digunakan sebagai subnet mask (192.0.2.0) sedangkan kemungkinan alamat host berrentang dari 192.0.2.0 hingga 192.0.2.225.

  • Opsional: PEERED_NETWORK_IP_RANGE adalah rentang IP internal yang dapat ditetapkan ke VM dalam rentang alokasi jaringan yang di-peering.

  • Opsional: SSL_CERTIFICATE adalah sertifikat SSL yang digunakan untuk instance Pusat Data Bitbucket di infrastruktur lokal.

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" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/bitbucketServerConfigs/?bitbucketServerConfigId=BITBUCKET_DATA_CENTER_CONFIG_NAME -d @config.json

Dengan keterangan:

  • PROJECT_ID adalah ID project Google Cloud Anda.
  • REGION adalah region yang terkait dengan konfigurasi Pusat Data Bitbucket Anda.
  • BITBUCKET_DATA_CENTER_CONFIG_NAME adalah nama konfigurasi Pusat Data Bitbucket 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 Google Cloud Anda.
  • PROJECT_ID adalah ID project Google Cloud Anda.
  • REGION adalah region yang terkait dengan konfigurasi Pusat Data Bitbucket Anda.
  • OPERATION_ID adalah ID operasi pembuatan konfigurasi Pusat Data Bitbucket Anda.

Anda mungkin perlu terus menjalankan perintah GetOperation API hingga responsnya berisi done: true, yang menunjukkan operasi selesai. Jika konfigurasi Pusat Data Bitbucket berhasil dibuat, Anda dapat melihat konfigurasi di kolom response.value. Atau, lihat kolom error untuk melihat laporan error mendetail.

Langkah selanjutnya