Membangun dan menguji aplikasi Java

Halaman ini menjelaskan cara menggunakan Cloud Build untuk membangun dan menguji aplikasi berbasis Java, menyimpan artefak yang dibangun di repositori Maven di Artifact Registry, dan membuat informasi provenance build.

Sebelum memulai

Menggunakan gambar maven

Anda dapat mengonfigurasi Cloud Build untuk mem-build aplikasi Java menggunakan image maven dari Docker Hub.

Untuk menjalankan tugas di image maven, tentukan URL image dan versi image yang diberi tag di kolom name file konfigurasi build Anda. Jika Anda tidak menentukan tag gambar, Cloud Build akan menggunakan image latest secara default. Cloud Build memulai image yang ditentukan dalam name menggunakan titik entri default gambar. Untuk mengganti titik entri default dan memanggil maven sebagai titik entri, tentukan mvn di kolom entrypoint.

File konfigurasi build berikut menentukan entrypoint untuk image maven dan mencetak versi alat build:

          steps:
          - name: maven:3.3-jdk-8
            entrypoint: mvn
            args: ['--version']

Mengonfigurasi Java build

  1. Di direktori utama project, buat file konfigurasi build dengan nama cloudbuild.yaml.

  2. Jalankan pengujian: maven menyediakan maven test, yang mendownload dependensi, membangun aplikasi, dan menjalankan pengujian yang ditentukan dalam kode sumber. Kolom args dari langkah build mengambil daftar argumen dan meneruskannya ke gambar yang dirujuk oleh kolom name.

    Di file konfigurasi build, tambahkan test ke kolom args untuk memanggil test dalam maven:

         steps:
         - name: maven:3.3-jdk-8
           entrypoint: mvn
           args: ['test']
    
  3. Package application: Untuk memaketkan aplikasi Anda menjadi file JAR untuk image maven, tentukan perintah package di kolom args. Perintah package membuat file JAR di /workspace/target/.

    Langkah build berikut memaketkan aplikasi Java Anda:

         steps:
         - name: maven:3.3-jdk-8
           entrypoint: mvn
           args: ['package','-Dmaven.test.skip=true']
    
  4. Upload ke Artifact Registry:

    Cloud Build menghasilkan informasi provenance build Supply chain Levels for Software Artifacts (SLSA) untuk paket Maven mandiri saat Anda mengupload artefak ke Artifact Registry menggunakan kolom mavenArtifacts di file konfigurasi Cloud Build Anda.

    Dalam file konfigurasi build, gunakan kolom mavenArtifacts untuk menentukan jalur file aplikasi dan repositori Maven Anda 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 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 terpaket Anda.
    • build-artifact: nama file paket yang dibuat dari langkah build Anda.
    • group-id: secara unik mengidentifikasi project Anda di semua project Maven, dalam format com.mycompany.app. Untuk mengetahui informasi selengkapnya, lihat Panduan Maven untuk konvensi penamaan.
    • version: nomor versi untuk aplikasi Anda, diformat dalam angka dan titik seperti 1.0.1.
  5. Opsional: Mengaktifkan provenance untuk build regional

    Jika Anda menggunakan build regional, tambahkan kolom requestedVerifyOption di options pada file konfigurasi build Anda. Setel nilai ke VERIFIED untuk mengaktifkan pembuatan metadata provenance. Jika Anda tidak menambahkan requestedVerifyOption: VERIFIED, Cloud Build akan menghasilkan provenance untuk build global saja.

    options:
      requestedVerifyOption: VERIFIED
    
  6. Mulai build: secara manual atau gunakan pemicu build.

    Setelah build selesai, Anda dapat melihat detail repositori di Artifact Registry.

    Anda juga dapat melihat metadata provenance build dan memvalidasi provenance untuk membantu melindungi supply chain software Anda.

Langkah selanjutnya