Halaman ini menjelaskan cara menggunakan Cloud Build untuk mem-build dan menguji aplikasi berbasis Java, menyimpan artefak yang di-build di repositori Maven di Artifact Registry, dan membuat informasi asal build.
Sebelum memulai
- Memahami cara membuat aplikasi berbasis Java.
- Memahami Maven
- Siapkan project Java Anda.
- Pahami cara menulis file konfigurasi Cloud Build.
- Memiliki repositori Maven di Artifact Registry. Jika belum memilikinya, buat repositori baru.
- Untuk menjalankan perintah
gcloud
di halaman ini, instal Google Cloud CLI.
Menggunakan gambar maven
Anda dapat mengonfigurasi Cloud Build untuk mem-build aplikasi Java menggunakan image maven
dari Docker Hub.
Untuk menjalankan tugas dalam image maven
, tambahkan langkah ke konfigurasi build dengan kolom berikut:
name
: Tetapkan nilai kolom ini kemaven
ataumaven:<tag>
, dengan tag mewakili versi. Jika Anda tidak menentukan tag image, Cloud Build akan menggunakan imagelatest
secara default.entrypoint
: Menetapkan kolom ini akan mengganti titik entri default gambar yang dirujuk diname
. Tetapkan nilai kolom ini kemvn
untuk memanggilmvn
sebagai titik entri langkah build dan menjalankan perintahmvn
.args
: Kolomargs
dari langkah build mengambil daftar argumen dan meneruskannya ke image yang dirujuk oleh kolomname
.
Langkah build berikut menentukan entrypoint
untuk image maven
yang diberi tag sebagai 3.3-jdk-8
dan mencetak versi alat build:
steps:
- name: maven:3.3-jdk-8
entrypoint: mvn
args: ['--version']
Mengonfigurasi build Java
Di direktori utama project, buat file konfigurasi build bernama
cloudbuild.yaml
.Menjalankan pengujian:
maven
menyediakanmaven test
, yang mendownload dependensi, mem-build aplikasi, dan menjalankan pengujian apa pun yang ditentukan dalam kode sumber Anda. Kolomargs
dari langkah build mengambil daftar argumen dan meneruskannya ke gambar yang dirujuk oleh kolomname
.Dalam file konfigurasi build, tambahkan
test
ke kolomargs
untuk memanggiltest
dalammaven
:steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['test']
Aplikasi paket: Untuk memaketkan aplikasi ke dalam file JAR untuk image
maven
, tentukan perintahpackage
di kolomargs
. Perintahpackage
mem-build file JAR di/workspace/target/
.Langkah build berikut mengemas aplikasi Java Anda:
steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['package','-Dmaven.test.skip=true']
Upload ke Artifact Registry:
Dalam file konfigurasi build, gunakan kolom
mavenArtifacts
untuk menentukan jalur aplikasi dan repositori Maven di Artifact Registry:artifacts: mavenArtifacts: - repository: 'https://location-maven.pkg.dev/project-id/repository-name' path: 'app-path' artifactId: 'build-artifact' groupId: 'group-id' version: 'version'
Ganti nilai berikut:
- location: lokasi untuk repositori Anda di Artifact Registry.
- project-id: ID project Google Cloud yang berisi repositori Artifact Registry Anda.
- repository-name: nama repositori Maven Anda di Artifact Registry.
- app-path: jalur ke aplikasi yang dipaketkan.
- build-artifact: nama file paket yang dibuat dari langkah build.
- group-id: mengidentifikasi project Anda secara unik di semua project Maven, dalam format
com.mycompany.app
. Untuk informasi selengkapnya, lihat panduan Maven untuk konvensi penamaan. - version: nomor versi untuk aplikasi Anda, diformat dalam angka dan titik seperti
1.0.1
.
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: VERIFIED
ke bagianoptions
dalam 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.
Langkah selanjutnya
- Pelajari cara melihat hasil build.
- Pelajari cara menjaga keamanan build.
- Pelajari cara melakukan deployment blue/green di Compute Engine.
- Pelajari cara mem-build dan membuat container aplikasi Java.
- Pelajari cara men-deploy aplikasi di Cloud Run.
- Pelajari cara men-deploy aplikasi di GKE.
- Pelajari cara memecahkan masalah error build.