Halaman ini menjelaskan cara membuat file konfigurasi build yang dapat Anda gunakan untuk memulai build di Cloud Build.
File konfigurasi build menentukan kolom yang diperlukan agar
Cloud Build dapat melakukan tugas Anda. Anda memerlukan file konfigurasi build
jika memulai build menggunakan alat command line
gcloud
atau pemicu
build. Anda dapat menulis
file konfigurasi build menggunakan sintaksis YAML atau JSON.
Sebelum memulai
Baca Ringkasan Konfigurasi Build untuk mempelajari kolom yang dapat Anda sertakan dalam file konfigurasi build.
Membuat konfigurasi build
Langkah-langkah berikut menjelaskan cara membuat file konfigurasi build dasar. Setiap
kolom dalam file konfigurasi build menentukan bagian dari tugas yang ingin Anda
lakukan. Satu-satunya kolom yang diperlukan dalam file konfigurasi build adalah kolom name
untuk langkah. Semua kolom lainnya bersifat opsional.
YAML
Buat file konfigurasi build. Di direktori utama project, buat file bernama
cloudbuild.yaml
. Ini adalah file konfigurasi Cloud Build Anda.Tambahkan kolom langkah. Bagian
steps
dalam file konfigurasi build berisi langkah-langkah build yang ingin Anda jalankan oleh Cloud Build.steps:
Tambahkan langkah pertama. Di bagian
steps:
, tambahkan kolomname
dan arahkan ke image container untuk menjalankan tugas Anda. Cloud Build dan komunitas developer-nya menyediakan beberapa image container dengan alat dan bahasa umum yang diinstal. Anda dapat menggunakan salah satu image ini (juga disebut Cloud Builder) atau image apa pun yang tersedia secara publik dalam langkah build. Untuk mengetahui informasi tentang berbagai jenis image container yang dapat Anda gunakan dalam langkah build, lihat Cloud Builder.Cuplikan berikut menunjukkan langkah build dengan builder
docker
gcr.io/cloud-builders/docker
, yang merupakan image container yang menjalankan Docker.steps: - name: 'gcr.io/cloud-builders/docker'
Tambahkan argumen langkah. Kolom
args
dari langkah mengambil daftar argumen dan meneruskannya ke builder yang direferensikan oleh kolomname
. Jika builder di kolomname
memiliki titik entri,args
dalam daftar akan digunakan untuk mengakses titik entri tersebut. Jika builder di kolomname
tidak memiliki titik entri, elemen pertama diargs
akan digunakan sebagai titik entri.Dalam contoh berikut:
build
adalah titik entri ke cloud builder Docker.-t
adalah tag Docker.us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image
adalah nama image yang akan di-build di Artifact Registry. Langkah build menggunakan penggantian default untuk project ID, sehingga nilai ini otomatis diganti pada waktu build..
adalah lokasi kode sumber, yang menunjukkan bahwa kode sumber berada di direktori kerja saat ini.steps: - name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', 'us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image', '.']
Menambahkan langkah lainnya. Anda dapat menambahkan langkah build dalam jumlah berapa pun ke file konfigurasi build dengan menyertakan kolom
name
tambahan dan mengarahkannya ke builder cloud.Cuplikan berikut menyertakan dua langkah lagi ke file konfigurasi build:
- langkah build docker untuk memanggil perintah
docker push
guna mendorong build image di langkah sebelumnya ke Artifact Registry. langkah build untuk perintah Google Cloud SDK dengan titik entri
gcloud
yang ditentukan, yang membuat instance Compute Engine dari image container di Artifact Registry. Kolomenv
disertakan untuk menentukan zona dan region Compute Engine.- name: 'gcr.io/cloud-builders/docker' args: ['push', 'us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image'] - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' entrypoint: 'gcloud' args: ['compute', 'instances', 'create-with-container', 'my-vm-name', '--container-image', 'us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image'] env: - 'CLOUDSDK_COMPUTE_REGION=us-central1' - 'CLOUDSDK_COMPUTE_ZONE=us-central1-a'
- langkah build docker untuk memanggil perintah
Sertakan kolom konfigurasi build tambahan. Anda dapat mengonfigurasi build lebih lanjut dengan menyertakan kolom seperti
machineType
,tags
, atautimeout
. Untuk mengetahui daftar lengkap kolom yang dapat Anda sertakan dalam file konfigurasi build, lihat Ringkasan Konfigurasi Build.Dalam contoh berikut, waktu tunggu langkah build
gcr.io/google.com/cloudsdktool/cloud-sdk
akan habis setelah 240 detik.- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' entrypoint: 'gcloud' timeout: 240s args: ['compute', 'instances', 'create-with-container', 'my-vm-name', '--container-image', 'us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image'] env: - 'CLOUDSDK_COMPUTE_REGION=us-central1' - 'CLOUDSDK_COMPUTE_ZONE=us-central1-a'
Lihat cuplikan berikut untuk contoh lengkap file konfigurasi build dasar:
Dalam contoh ini, image container disimpan di Artifact Registry. Jika build Anda menghasilkan artefak non-container, Anda dapat menyimpannya di Cloud Storage menggunakan kolom
artifacts
. Untuk mengetahui petunjuk cara melakukannya, lihat Menyimpan Gambar dan Artefak.
JSON
Buat file konfigurasi build. Di direktori utama project, buat file bernama
cloudbuild.json
. Ini adalah file konfigurasi Cloud Build Anda.Tambahkan kolom langkah. Bagian
steps
dalam file konfigurasi build berisi langkah-langkah build yang ingin Anda jalankan oleh Cloud Build.{ "steps": }
Tambahkan langkah pertama. Di bagian
steps:
, tambahkan kolomname
dan arahkan ke image container untuk menjalankan tugas Anda. Cloud Build dan komunitas developer-nya menyediakan beberapa image container dengan alat dan bahasa umum yang diinstal. Anda dapat menggunakan salah satu image ini (juga disebut Cloud Builder) atau image apa pun yang tersedia secara publik dalam langkah build. Untuk mengetahui informasi tentang berbagai jenis image container yang dapat Anda gunakan dalam langkah build, lihat Cloud Builder.Cuplikan berikut menunjukkan langkah build dengan builder
docker
gcr.io/cloud-builders/docker
, yang merupakan image container yang menjalankan Docker.{ "steps": [ { "name": "gcr.io/cloud-builders/docker" } ] }
Tambahkan argumen langkah. Kolom
args
dari langkah mengambil daftar argumen dan meneruskannya ke builder yang direferensikan oleh kolomname
. Jika builder di kolomname
memiliki titik entri,args
dalam daftar akan digunakan untuk mengakses titik entri tersebut. Jika builder di kolomname
tidak memiliki titik entri, elemen pertama diargs
akan digunakan sebagai titik entri.Dalam contoh berikut:
build
adalah titik entri ke cloud builder Docker.-t
adalah tag Docker.us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image
adalah nama image yang akan di-build di Artifact Registry. Langkah build menggunakan penggantian default untuk project ID, sehingga nilai ini otomatis diganti pada waktu build..
adalah lokasi kode sumber, yang menunjukkan bahwa kode sumber berada di direktori kerja saat ini.{ "steps": [ { "name": "gcr.io/cloud-builders/docker", "args": [ "build", "-t", "us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/myimage", "." ] } ] }
Menambahkan langkah lainnya. Anda dapat menambahkan langkah build dalam jumlah berapa pun ke file konfigurasi build dengan menyertakan kolom
name
tambahan dan mengarahkannya ke builder cloud.Cuplikan berikut menyertakan dua langkah lagi ke file konfigurasi build:
- langkah build docker untuk memanggil perintah
docker push
guna mendorong build image di langkah sebelumnya ke Artifact Registry. langkah build untuk perintah Google Cloud SDK dengan titik entri
gcloud
yang ditentukan, yang membuat instance Compute Engine dari image container di Artifact Registry. Kolomenv
disertakan untuk menentukan zona dan region Compute Engine.{ "name": "gcr.io/cloud-builders/docker", "args": [ "push", "us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/myimage" ] }, { "name": "gcr.io/google.com/cloudsdktool/cloud-sdk", "entrypoint": "gcloud", "args": [ "compute", "instances", "create-with-container", "my-vm-name", "--container-image", "us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/myimage" ], "env": [ "CLOUDSDK_COMPUTE_REGION=us-central1", "CLOUDSDK_COMPUTE_ZONE=us-central1-a" ] }
- langkah build docker untuk memanggil perintah
Sertakan kolom konfigurasi build tambahan. Anda dapat mengonfigurasi build lebih lanjut dengan menyertakan kolom seperti
machineType
,tags
, atautimeout
. Untuk mengetahui daftar lengkap kolom yang dapat Anda sertakan dalam file konfigurasi build, lihat Ringkasan Konfigurasi Build.Dalam contoh berikut, waktu tunggu langkah build
gcr.io/google.com/cloudsdktool/cloud-sdk
habis setelah 240 detik.{ "name": "gcr.io/google.com/cloudsdktool/cloud-sdk", "entrypoint": "gcloud", "timeout": "240s", "args": [ "compute", "instances", "create-with-container", "my-vm-name", "--container-image", "us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/myimage" ], "env": [ "CLOUDSDK_COMPUTE_REGION=us-central1", "CLOUDSDK_COMPUTE_ZONE=us-central1-a" ] }
Lihat cuplikan berikut untuk contoh lengkap file konfigurasi build dasar:
Dalam contoh ini, image container disimpan di Artifact Registry. Jika build Anda menghasilkan artefak non-penampung, Anda dapat menyimpannya di Cloud Storage menggunakan kolom
artifacts
. Untuk mengetahui petunjuk cara melakukannya, lihat Menyimpan Image dan Artefak.
Langkah selanjutnya
- Pelajari cara menjalankan build secara manual dan menggunakan pemicu menggunakan file konfigurasi build.
- Pelajari cara menulis konfigurasi build untuk menyertakan dependensi, serta mem-build, menguji, dan men-deploy artefak.