Mengotomatiskan build menggunakan Cloud Build

Halaman ini menjelaskan cara menggunakan Cloud Build untuk mengotomatiskan build.

Cloud Build menggunakan pemicu build untuk mengaktifkan otomatisasi CI/CD. Anda dapat mengonfigurasi pemicu untuk memproses peristiwa yang masuk, seperti saat commit baru di-push ke repositori atau saat permintaan pull dimulai, lalu otomatis memanggil build saat peristiwa baru masuk.

Anda akan membuat pemicu dan mengonfigurasi pemicu tersebut untuk memanggil build setiap kali Anda mendorong perubahan ke repositori GitHub.


Untuk mengikuti panduan langkah demi langkah tugas ini langsung di Cloud Shell Editor, klik Pandu saya:

Pandu saya


Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Build API.

    Enable the API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Build API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. Jika Anda belum memilikinya, buat akun di GitHub.

  13. Jika Anda telah menyiapkan autentikasi 2 langkah di GitHub, buat token akses pribadi untuk digunakan sebagai pengganti sandi GitHub dengan command line.

Membuat fork dan clone repositori GitHub contoh

Anda memerlukan beberapa kode sumber contoh untuk mem-build. Di bagian ini, Anda akan meng-clone repositori sumber yang ada yang berisi contoh Hello World di Buka akun pengguna GitHub Anda sendiri.
  1. Jika Anda belum memilikinya, buat akun di GitHub.

  2. Jika Anda telah menyiapkan autentikasi 2 langkah di GitHub, buat token akses pribadi untuk digunakan sebagai pengganti sandi GitHub dengan command line.

  3. Lakukan fork repositori cloud-build-samples ke akun GitHub Anda sendiri:

    1. Buka repositori cloud-build-samples Cloud Build.

    2. Klik ikon Fork di sudut kanan atas halaman.

    3. Klik akun pengguna GitHub yang ingin Anda gunakan untuk melakukan fork repositori.

      Anda akan otomatis dialihkan ke halaman dengan versi repositori cloud-build-samples yang di-fork.

  4. Buka terminal di lingkungan lokal Anda.

  5. Clone repositori yang di-fork dengan menjalankan perintah berikut, dengan GITHUB_USERNAME adalah nama pengguna untuk akun GitHub Anda:

    git clone https://github.com/GITHUB_USERNAME/cloud-build-samples.git

Menghubungkan Cloud Build ke repositori Anda

Untuk mem-build kode sumber di GitHub menggunakan pemicu, Anda harus terlebih dahulu menghubungkan Cloud Build ke repositori GitHub. Di bagian ini, Anda akan menghubungkan repositori cloud-build-samples ke Cloud Build.
  1. Di menu navigasi konsol Google Cloud, klik Cloud Build > Triggers.

    Buka halaman Pemicu

  2. Pilih project Anda lalu klik Buka.

  3. Klik Hubungkan repositori.

  4. Di bagian Select source, pilih GitHub (Cloud Build GitHub App).

  5. Klik Lanjutkan.

  6. Lakukan autentikasi akun GitHub Anda.

  7. Di bagian Select repository, pilih nama pengguna akun GitHub Anda. Jika nama pengguna Anda tidak muncul dalam daftar:

    1. Di daftar Akun GitHub, klik +Tambahkan.

      Anda akan melihat pop-up untuk menginstal aplikasi GitHub Cloud Build.

    2. Klik nama pengguna GitHub Anda.

    3. Klik Only certain repositories untuk menginstal aplikasi GitHub Cloud Build di repositori tertentu.

    4. Pada menu drop-down, pilih GITHUB_USERNAME/cloud-build-samples, dengan GITHUB_USERNAME adalah nama pengguna untuk akun GitHub Anda.

    5. Klik Instal.

      Anda mungkin diminta untuk memasukkan sandi yang terkait dengan akun GitHub Anda sebelum melanjutkan.

    6. Setelah menginstal aplikasi GitHub Cloud Build, Anda sekarang dapat melihat nama pengguna di menu drop-down pada kolom GitHub account. Pilih nama pengguna Anda.

  8. Di bagian Repository, pilih GITHUB_USERNAME/cloud-build-samples sebagai repositori Anda.

  9. Klik tanda centang untuk menyetujui persyaratan dan ketentuan koneksi pemicu.

  10. Klik Hubungkan.

  11. Klik Selesai.

Anda akan membuat pemicu di bagian berikutnya.

Buat pemicu

  1. Buka halaman Pemicu di konsol Google Cloud:

    Buka halaman Pemicu

  2. Pilih project Anda dari menu drop-down pemilih project di bagian atas halaman.

  3. Klik Buka.

  4. Di halaman Triggers, klik Create trigger.

  5. Di halaman Create trigger, masukkan setelan berikut:

    • Nama: Masukkan hello-world-trigger sebagai nama pemicu Anda.

    • Peristiwa: Pilih Push to a branch sebagai peristiwa repositori untuk memanggil pemicu Anda.

    • Source: Pilih repositori cloud-build-samples sebagai sumber yang berisi kode sumber dan file konfigurasi build Anda.

    • Build Configuration: Pilih Cloud Build configuration file sebagai file konfigurasi build Anda.

    • Cloud Build configuration file location: Tentukan jalur ke file konfigurasi Cloud Build Anda sebagai quickstart-automate/cloudbuild.yaml.

  6. Klik Create untuk menyimpan pemicu build Anda.

Melakukan commit perubahan

Di bagian ini, Anda akan melakukan perubahan pada repositori cloud-build-samples yang di-clone di akun GitHub Anda sendiri.

  1. Di terminal Anda, buka direktori quickstart-automate:

    cd cloud-build-samples/quickstart-automate
  2. Buka file main.go dan perbarui baris yang berisi "Halo, dunia!" menjadi "Halo, alam semesta!"

      package main
    
      import (
          "fmt"
      )
    
      func main() {
          fmt.Println("Hello, universe!")
      }
      
  3. Tinjau cloudbuild.yaml, yang merupakan file konfigurasi build yang digunakan oleh Cloud Build. Saat build dipanggil dengan pemicu, langkah build dalam file ini akan menginstruksikan Cloud Build untuk menggunakan image golang dari Docker Hub untuk mem-build dan menjalankan file main.go.

       steps:
       - name: golang
         script: go run quickstart-automate/main.go
       
  4. Kembali ke direktori utama repositori Anda:

       cd ..
  5. Commit perubahan Anda ke GitHub dengan menjalankan perintah berikut:

        
        git add quickstart-automate/main.go
        git commit -m "update text"
        git push

    Anda mungkin diminta untuk memasukkan kredensial saat mendorong kode ke repositori. Jika diminta, masukkan nama pengguna dan sandi atau token autentikasi.

Sekarang Anda telah mendorong perubahan ke repositori. Push Anda akan menghasilkan build otomatis oleh pemicu.

Lihat detail build

Di bagian ini, Anda akan melihat detail build yang terkait dengan build yang dipanggil setelah melakukan perubahan.
  1. Di menu navigasi konsol Google Cloud, klik Cloud Build > History.

    Buka halaman Cloud Build

  2. Pilih project Anda lalu klik Buka.

    Anda akan melihat halaman Histori build:

    Screenshot halaman histori build untuk otomatisasi

  3. Di kolom Build, klik nama build.

  4. Di halaman Build details, klik Build Artifacts.

    Anda akan melihat output yang mirip dengan berikut ini:

    Screenshot artefak build

  5. Untuk melihat log build, klik ikon download dan lihat file yang didownload.

Anda telah berhasil memanggil build Cloud Build menggunakan pemicu dan melihat detail build.

Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

  1. Di menu navigasi konsol Google Cloud, klik Cloud Build > Triggers.

    Buka halaman Pemicu

  2. Pilih project Anda lalu klik Buka.

  3. Di baris hello-world-trigger, klik menu Tindakan (elips vertikal) yang terletak di ujung kanan baris.

  4. Pilih Hapus.

Sekarang Anda telah menghapus pemicu yang terkait dengan repositori yang di-clone.

Langkah selanjutnya