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
gclouddi 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 kemavenataumaven:<tag>, dengan tag mewakili versi. Jika Anda tidak menentukan tag image, Cloud Build akan menggunakan imagelatestsecara default.entrypoint: Menetapkan kolom ini akan mengganti titik entri default gambar yang dirujuk diname. Tetapkan nilai kolom ini kemvnuntuk memanggilmvnsebagai titik entri langkah build dan menjalankan perintahmvn.args: Kolomargsdari 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:
mavenmenyediakanmaven test, yang mendownload dependensi, mem-build aplikasi, dan menjalankan pengujian apa pun yang ditentukan dalam kode sumber Anda. Kolomargsdari langkah build mengambil daftar argumen dan meneruskannya ke gambar yang dirujuk oleh kolomname.Dalam file konfigurasi build, tambahkan
testke kolomargsuntuk memanggiltestdalammaven:steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['test']Aplikasi paket: Untuk memaketkan aplikasi ke dalam file JAR untuk image
maven, tentukan perintahpackagedi kolomargs. Perintahpackagemem-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
mavenArtifactsuntuk 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 Google Cloud project 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: 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.
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.