Halaman ini menjelaskan cara menggunakan Cloud Build untuk mem-build dan menguji aplikasi Node.js, menyimpan artefak yang di-build di repositori npm di Artifact Registry, dan menghasilkan informasi asal build.
Cloud Build memungkinkan Anda menggunakan image container yang tersedia secara publik untuk menjalankan tugas. Image node publik dari Docker Hub sudah diinstal sebelumnya dengan alat npm. Anda dapat mengonfigurasi Cloud Build untuk mem-build project Node.js dengan alat ini.
Sebelum memulai
Petunjuk di halaman ini mengasumsikan bahwa Anda sudah memahami Node.js. Selain itu:
- Memahami npm.
- Siapkan project
Node.jsAnda, termasuk filepackage.jsondantest.js. - Pastikan file
package.jsonAnda menyertakan skripstartdan skriptest. - Pahami cara menulis file konfigurasi Cloud Build.
- Memiliki repositori npm di Artifact Registry. Jika Anda belum memilikinya, buat repositori baru.
- Untuk menjalankan perintah
gclouddi halaman ini, instal Google Cloud CLI.
Membangun dengan npm
Untuk menjalankan tugas di image node dari Docker Hub, tentukan URL image
di kolom name dalam file konfigurasi Cloud Build.
Cloud Build memulai container yang ditentukan di kolom name menggunakan entrypoint default image. Untuk mengganti titik entri default
dan menentukan cara langkah build harus dijalankan saat dipanggil, tambahkan
kolom entrypoint di langkah build Anda. Image node di Docker Hub sudah
diinstal sebelumnya dengan alat npm. Tentukan alat di kolom entrypoint untuk
memanggilnya sebagai titik entri langkah build Anda.
Dalam contoh file konfigurasi build berikut:
- Kolom
namemenentukan bahwa imagenodedari Docker Hub digunakan oleh Cloud Build untuk menjalankan tugas Anda. Saat menentukan imagenode, Anda dapat menghapus versi node agar ditetapkan secara default ke:latest, atau menentukan versi node untuk menggunakan versi tertentu. Misalnya,name: nodeakan menggunakan node versi terbaru, danname: node:12akan menggunakannode:12. Kolom
entrypointmenentukan bahwa alatnpmdigunakan saat gambarnodedipanggil.steps: - name: 'node' entrypoint: 'npm'
Mengonfigurasi build Node.js
Di direktori utama project, buat file konfigurasi bernama
cloudbuild.yaml.Menginstal dependensi: Sebelum dapat mem-build aplikasi, Anda harus memastikan bahwa semua dependensi project diinstal dari
npm. Anda dapat menginstal dependensi menggunakan perintahinstalldalam langkah buildnpm. Kolomargsdari langkah build menggunakan daftar argumen dan meneruskannya ke gambar yang dirujuk oleh kolom nama. Dalam file konfigurasi build, tambahkaninstallke kolomargsuntuk memanggil perintahinstall:steps: - name: 'node' entrypoint: 'npm' args: ['install']Tambahkan pengujian: Jika telah menentukan skrip
testdipackage.json, Anda dapat mengonfigurasi Cloud Build untuk menjalankan skrip dengan menambahkantestke kolomargs:steps: - name: 'node' entrypoint: 'npm' args: ['install'] - name: 'node' entrypoint: 'npm' args: ['test']Menjalankan perintah kustom: Jika
package.jsonberisi perintah kustom, Anda dapat mengonfigurasi Cloud Build untuk menjalankan perintah tersebut. Di kolomargs, tambahkanrunsebagai argumen pertama, diikuti dengan nama perintah kustom. File konfigurasi build berikut memiliki argumen untuk menjalankan perintah kustom yang disebutbuild:steps: - name: 'node' entrypoint: 'npm' args: ['install'] - name: 'node' entrypoint: 'npm' args: ['test'] - name: 'node' entrypoint: 'npm' args: ['run', 'build']Upload ke Artifact Registry:
Dalam file konfigurasi, tambahkan kolom
npmPackagesdan tentukan repositori npm Anda di Artifact Registry:artifacts: npmPackages: - repository: 'https://LOCATION-npm.pkg.dev/PROJECT-ID/REPOSITORY_NAME' packagePath: 'PACKAGE_PATH'Ganti nilai berikut:
- LOCATION: lokasi untuk repositori Anda di Artifact Registry.
- PROJECT_ID: ID Google Cloud project yang berisi repositori Artifact Registry Anda.
- REPOSITORY_NAME: nama repositori npm Anda di Artifact Registry.
- PACKAGE_PATH: jalur untuk direktori lokal
yang berisi paket npm yang ingin Anda upload ke Artifact Registry. Sebaiknya
gunakan jalur absolut. Nilai
PACKAGE_PATHAnda dapat berupa.untuk menggunakan direktori kerja saat ini, tetapi kolom tidak boleh dihilangkan atau dikosongkan. Direktori ini harus berisi filepackage.json.
Opsional: Mengaktifkan pembuatan asal
Cloud Build dapat menghasilkan metadata provenans build Supply chain Levels for Software Artifacts (SLSA) yang dapat diverifikasi untuk membantu mengamankan pipeline continuous integration Anda.
Untuk mengaktifkan pembuatan asal, tambahkan
requestedVerifyOption: VERIFIEDke bagianoptionsdalam file konfigurasi Anda.Mulai build: secara manual atau menggunakan pemicu build.
Setelah build selesai, Anda dapat melihat detail repositori di Artifact Registry.
Anda juga dapat melihat metadata asal build dan memvalidasi asal.
Menjalankan pengujian pada beberapa versi node
Terkadang Anda perlu memastikan bahwa project Anda berfungsi di beberapa
versi node. Anda dapat membuat dan mengonfigurasi
pemicu Cloud Build
sehingga:
- Dalam file konfigurasi build, tentukan versi
nodesebagai variabel penggantian. - Buat satu pemicu untuk setiap versi
nodeyang ingin Anda gunakan untuk mem-build aplikasi. - Di setiap setelan pemicu, gunakan kolom nilai variabel penggantian untuk
menunjukkan versi
nodeuntuk pemicu tersebut.
Langkah-langkah berikut menjelaskan cara menentukan versi node menggunakan variabel penggantian khusus pemicu:
Di root repositori, tambahkan file konfigurasi build, yang menentukan versi
nodesebagai variabel penggantian. Dalam contoh file konfigurasi build berikut,$_NODE_VERSIONadalah variabel penggantian yang ditentukan pengguna:steps: - name: 'node:$_NODE_VERSION' entrypoint: 'npm' args: ['install'] - name: 'node:$_NODE_VERSION' entrypoint: 'npm' args: ['test']Untuk setiap versi
nodeyang ingin Anda build, buat pemicu build menggunakan langkah-langkah berikut:Buka halaman Pemicu di Google Cloud konsol:
Pilih project Anda dari menu drop-down pemilih project di bagian atas halaman.
Klik Buka.
Klik Create trigger.
Di halaman Create trigger, masukkan setelan berikut:
Masukkan nama untuk pemicu Anda.
Pilih peristiwa repositori untuk memulai pemicu Anda.
Pilih repositori yang berisi kode sumber dan file konfigurasi build Anda.
Tentukan ekspresi reguler untuk nama cabang atau tag yang akan memulai pemicu Anda.
Configuration: Pilih file konfigurasi build yang Anda buat sebelumnya.
Di bagian Substitution variables, klik Add variable.
- Di bagian Variable, tentukan variabel versi
nodeyang Anda gunakan dalam file konfigurasi build, dan di bagian Value, tentukan versinode. Misalnya,_NODE_VERSIONdan12.
- Di bagian Variable, tentukan variabel versi
Klik Buat untuk menyimpan pemicu build Anda.
Anda dapat menggunakan pemicu ini untuk mem-build kode pada versi node yang ditentukan dalam pemicu.
Langkah berikutnya
- Pelajari cara melihat hasil build.
- Pelajari cara menjaga keamanan build.
- Pelajari cara mem-build image container.
- Pelajari cara mem-build aplikasi Go.
- Pelajari cara melakukan deployment blue/green di Compute Engine.
- Pelajari cara memecahkan masalah error build.