Halaman ini menjelaskan cara menentukan dependensi build. Cloud Build memungkinkan Anda mengelola dependensi kode sumber secara terpisah dari proses build.
Dalam file konfigurasi build, Anda dapat mencantumkan satu atau beberapa repositori Git untuk di-clone untuk build Anda, dan urutan pengambilannya. Menentukan dependensi dengan cara ini akan memisahkan pengambilan dependensi dari proses build itu sendiri.
Jika Anda tidak menyertakan dependensi apa pun dalam file konfigurasi build,
Cloud Build akan meng-clone repositori kode sumber yang berisi file konfigurasi
build (untuk build yang dipicu) atau repositori yang berisi
kode sumber (untuk build yang Anda panggil dari command line). Jika Anda menyertakan dependensi dalam file konfigurasi build, Cloud Build tidak akan meng-clone repositori apa pun yang tidak ditentukan di kolom dependencies
.
Setiap repositori kode sumber yang Anda tentukan di kolom dependencies
harus
terhubung ke Cloud Build menggunakan Developer Connect, atau
merupakan repositori publik
Dependensi di-clone sesuai urutan yang Anda tentukan dalam konfigurasi ini. Selain itu, pengambilan dependensi terjadi sebelum logika yang ditentukan pengguna dieksekusi. Dengan demikian, pengambilan dependensi dipercaya.
Sebelum memulai
Petunjuk di halaman ini mengasumsikan bahwa Anda memiliki satu atau beberapa repositori Git yang merupakan repositori publik atau ditautkan menggunakan Developer Connect,
Peran yang diperlukan
Jika repositori yang Anda tambahkan sebagai dependensi adalah repositori Developer Connect, akun layanan Anda memerlukan peran Read Token Accessor Developer Connect:
Hal ini merupakan tambahan dari peran Cloud Build lain yang Anda perlukan.
Menentukan dependensi
Anda menentukan dependensi dengan menambahkan stanza dependencies
ke file konfigurasi build. dependencies
adalah properti tingkat atas dalam konfigurasi build,
tetapi Anda dapat menempatkannya di mana saja dalam file.
Berikut adalah sintaksis untuk stanza dependencies
:
YAML
dependencies:
- gitSource:
repository:
url: 'URL'
developerConnect: 'RESOURCE_PATH'
revision: 'REVISION'
recurseSubmodules: 'true|false'
depth: DEPTH'
destPath: 'DEST_PATH'
JSON
{
"dependencies": {
"gitSource": {
"repository": {
"url": "URL"
"developerConnect": "RESOURCE_PATH"
},
"revision": "REVISION",
"recurseSubmodules": true|false,
"depth": "DEPTH",
"destPath": "DEST_PATH",
},
},
}
Ganti nilai berikut:
URL: Opsional. URL HTTPS repositori yang akan diambil. Anda harus menentukan URL atau jalur resource Developer Connect.
RESOURCE_PATH: Opsional. Jalur resource Google Cloud ke repositori Developer Connect tersebut. Contohnya,
projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo
. Anda harus menentukan URL atau jalur resource Developer Connect. Tentukan kolom ini jika repositori yang akan diambil terhubung ke Cloud Build menggunakan Developer Connect.REVISION: Wajib diisi. Versi, hash commit, tag, atau nama cabang yang akan diambil dari repositori.
recurseSubmodules
: 'true|false': Apakah akan mengambil submodul.DEPTH: Opsional, seberapa dalam histori repositori yang akan diambil. Jika tidak ditentukan, commit terbaru akan diambil.
1
: commit terbaru2
: dua commit terakhir3
: tiga commit terakhir-1
: semua commit
DEST_PATH: Wajib diisi. Jalur ke direktori tempat repositori akan di-clone. Contoh,
my/repo
.Saat Anda menetapkan
dest_path
, repo akan diambil di/workspace/<dest_path>
. Nilaidest_path
harus berupa jalur relatif, dan bersifat relatif terhadap direktori kerja build.
Menentukan repositori Developer Connect sebagai dependensi
Jika menentukan repositori Developer Connect sebagai dependensi, Anda harus memberikan peran
Developer Connect Read Token Accessor
ke akun layanan Cloud Build. Untuk mengetahui informasi selengkapnya, lihat Memberikan akses Cloud Build ke repositori Developer Connect.Build Anda harus berada di region yang sama dengan koneksi Developer Connect.
Langkah berikutnya
Pelajari cara menghubungkan repositori ke Cloud Build menggunakan repositori Cloud Build.
Pelajari cara menghubungkan repositori ke Cloud Build menggunakan Developer Connect.