Menggunakan builder yang dikontribusikan oleh komunitas dan builder kustom

Halaman ini menjelaskan cara menggunakan builder yang dikontribusikan oleh komunitas dan builder kustom di Cloud Build. Komunitas developer Cloud Build menyediakan builder open source yang dapat Anda gunakan untuk menjalankan tugas. Jika tugas yang ingin Anda lakukan memerlukan kemampuan yang tidak disediakan oleh image yang ada, Anda dapat membuat image kustom sendiri dan menggunakannya dalam langkah build. Untuk mempelajari berbagai jenis builder, lihat Cloud Builder.

Jika Anda baru menggunakan Cloud Build, baca panduan memulai dan Ringkasan konfigurasi build terlebih dahulu.

Menggunakan pembuat kontribusi komunitas

Image bawaan tidak tersedia untuk builder yang dikontribusikan oleh komunitas. Agar dapat menggunakan builder ini di file konfigurasi Cloud Build, Anda harus mem-build image terlebih dahulu dan mengirimkannya ke Container Registry dalam project Anda.

Untuk menggunakan pembuat kontribusi komunitas:

  1. Buat dan kirim builder:

    1. Buka direktori utama project Anda.

    2. Clone repositori cloud-builders-community:

      git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
      
    3. Buka gambar builder yang ingin Anda gunakan, dengan builder-name adalah direktori yang berisi builder:

      cd cloud-builders-community/builder-name
      
    4. Kirim builder ke project Anda:

      gcloud builds submit .
      
    5. Kembali ke direktori utama project Anda:

      cd ../..
      
    6. Hapus repositori dari direktori root Anda:

      rm -rf cloud-builders-community/
      
  2. Di file konfigurasi Cloud Build, gunakan builder dalam langkah build:

    YAML

    steps:
    - name: 'gcr.io/project-id/builder-name'
      args: ['arg1', 'arg2', ...]
    ...
    

    JSON

    {
      "steps": [
      {
        "name": "gcr.io/project-id/builder-name",
        "args": [
          "arg1",
          "arg2",
          ...
        ]
        ...
      }
      ]
    }
    
  3. Gunakan file konfigurasi build untuk memulai build secara manual atau build menggunakan pemicu.

Untuk mengetahui contoh penggunaan builder yang dikontribusikan oleh komunitas, lihat Men-deploy ke Firebase dan Membuat image VM menggunakan Packer.

Membuat builder kustom

Jika tugas yang ingin Anda lakukan memerlukan kemampuan yang tidak disediakan oleh image publik, builder yang didukung, atau builder yang dikontribusikan komunitas, Anda dapat membuat image sendiri dan menggunakannya dalam langkah build.

Beberapa contoh yang memungkinkan Anda menggunakan image builder kustom adalah:

  • Mendownload kode sumber atau paket dari lokasi eksternal.
  • Menggunakan rantai alat eksternal.
  • Menyimpan library apa pun yang diperlukan ke dalam cache.
  • Sumber pra-build (dengan Cloud Build yang hanya bertanggung jawab untuk memaketkan build ke dalam image).

Seperti builder lainnya, builder kustom berjalan dengan sumber yang dipasang pada /workspace, dan dijalankan dengan direktori kerja di /workspace. Setiap file yang tersisa di /workspace oleh langkah build tertentu tersedia untuk langkah build lainnya.

Builder kustom Anda dapat mengirim ke atau mengambil dari repositori di Container Registry (dihosting di gcr.io/$PROJECT-NAME/) yang dapat diakses oleh akun layanan Cloud Build Anda.

Langkah berikut menunjukkan cara membuat dan menggunakan builder kustom dengan contoh Dockerfile:

  1. Buat gambar builder kustom:

    1. Buat Dockerfile untuk builder kustom. Kode berikut menunjukkan contoh Dockerfile:

        FROM alpine
        RUN apk add curl
        CMD curl https://httpbin.org/ip -s > myip.txt; echo "*** My IP is: $(cat myip.txt)"
      
    2. Bangun dan kirim builder kustom ke Container Registry di project Anda, yang menggantikan nilai untuk project-id dan image-name:

        gcloud builds submit --tag gcr.io/project-id/image-name
      
  2. Gunakan image builder kustom di Cloud Build dengan menentukan builder di kolom name dari langkah build:

    YAML

        steps:
        - name: 'gcr.io/project-id/image-name'
          id: Determine IP of this build worker
    

    JSON

        {
          "steps": [
          {
            "name": "gcr.io/project-id/image-name",
            "id": "Determine IP of this build worker"
          }
          ]
        }
    
  3. Gunakan file konfigurasi build untuk memulai build secara manual atau build menggunakan pemicu.

Langkah selanjutnya