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 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
pada file konfigurasi build berisi langkah-langkah build yang Anda inginkan untuk dilakukan Cloud Build.steps:
Tambahkan langkah pertama. Di bagian
steps:
, tambahkan kolomname
dan arahkan ke image container untuk menjalankan tugas Anda. Cloud Build dan komunitas developernya menyediakan beberapa image container yang dilengkapi dengan alat dan bahasa umum. Anda dapat menggunakan salah satu image tersebut (juga disebut Cloud Builder) atau image 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'
Menambahkan argumen langkah. Kolom
args
dari suatu langkah mengambil daftar argumen dan meneruskannya ke builder yang dirujuk oleh kolomname
. Jika builder di kolomname
memiliki titik entri,args
dalam daftar 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 builder cloud Docker.-t
adalah tag Docker.us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image
adalah nama image yang akan dibangun di Artifact Registry. Langkah build menggunakan substitusi default untuk project ID, sehingga nilai ini otomatis diganti pada waktu build..
adalah lokasi kode sumber, yang menunjukkan 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', '.']
Tambahkan langkah-langkah lainnya. Anda dapat menambahkan sejumlah langkah build ke file konfigurasi build dengan menyertakan kolom
name
tambahan dan mengarahkannya ke builder cloud.Cuplikan berikut menyertakan dua langkah lagi untuk file konfigurasi build:
- langkah build Docker untuk memanggil perintah
docker push
guna mengirim build image pada 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
Menyertakan 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.Pada 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/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 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
pada file konfigurasi build berisi langkah-langkah build yang Anda inginkan untuk dilakukan Cloud Build.{ "steps": }
Tambahkan langkah pertama. Di bagian
steps:
, tambahkan kolomname
dan arahkan ke image container untuk menjalankan tugas Anda. Cloud Build dan komunitas developernya menyediakan beberapa image container yang dilengkapi dengan alat dan bahasa umum. Anda dapat menggunakan salah satu image tersebut (juga disebut Cloud Builder) atau image 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" } ] }
Menambahkan argumen langkah. Kolom
args
dari suatu langkah mengambil daftar argumen dan meneruskannya ke builder yang dirujuk oleh kolomname
. Jika builder di kolomname
memiliki titik entri,args
dalam daftar 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 builder cloud Docker.-t
adalah tag Docker.us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image
adalah nama image yang akan dibangun di Artifact Registry. Langkah build menggunakan substitusi default untuk project ID, sehingga nilai ini otomatis diganti pada waktu build..
adalah lokasi kode sumber, yang menunjukkan 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", "." ] } ] }
Tambahkan langkah-langkah lainnya. Anda dapat menambahkan sejumlah langkah build ke file konfigurasi build dengan menyertakan kolom
name
tambahan dan mengarahkannya ke builder cloud.Cuplikan berikut menyertakan dua langkah lagi untuk file konfigurasi build:
- langkah build Docker untuk memanggil perintah
docker push
guna mengirim build image pada 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
Menyertakan 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.Pada 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-container, Anda dapat menyimpannya di Cloud Storage menggunakan kolom
artifacts
. Untuk petunjuk cara melakukannya, lihat Menyimpan Gambar dan Artefak.
Langkah selanjutnya
- Pelajari cara menjalankan build secara manual dan menggunakan pemicu menggunakan file konfigurasi build.
- Pelajari cara menulis konfigurasi build untuk termasuk dependensi, serta mem-build, menguji, dan men-deploy artefak.