建構及測試 Java 應用程式

本頁說明如何使用 Cloud Build 建構及測試以 Java 為基礎的應用程式、將建構的構件儲存在 Artifact Registry 中的 Maven 存放區,以及產生建構來源資訊。

事前準備

使用 maven 圖片

您可以設定 Cloud Build,以便使用 Docker Hub 中的 maven 映像檔建構 Java 應用程式。

如要在 maven 映像檔中執行工作,請在建構設定中加入步驟,並使用下列欄位:

  • name:將這個欄位的值設為 mavenmaven:<tag>,其中標記代表版本。如果未指定映像檔標記,Cloud Build 預設會使用 latest 映像檔。
  • entrypoint:設定這個欄位會覆寫 name 中參照圖片的預設進入點。將這個欄位的值設為 mvn,即可將 mvn 做為建構步驟的進入點,並執行 mvn 指令。
  • args:建構步驟的 args 欄位會取得引數清單,並將其傳送至 name 欄位參照的圖片。

以下建構步驟會為標示為 3.3-jdk-8maven 映像檔指定 entrypoint,並列印建構工具版本:

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

設定 Java 版本

  1. 在專案根目錄中,建立名為 cloudbuild.yaml 的建構設定檔。

  2. 執行測試maven 提供 maven test,可下載依附元件、建構應用程式,以及執行原始碼中指定的任何測試。建構步驟的 args 欄位會取得引數清單,並將其傳送至 name 欄位參照的映像檔。

    在建構設定檔中,將 test 新增至 args 欄位,以便在 maven 中叫用 test

         steps:
         - name: maven:3.3-jdk-8
           entrypoint: mvn
           args: ['test']
    
  3. 封裝應用程式:如要將應用程式封裝至 maven 映像檔的 JAR 檔案中,請在 args 欄位中指定 package 指令。package 指令會在 /workspace/target/ 中建構 JAR 檔案。

    下列建構步驟會為 Java 應用程式打包:

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

    在建構設定檔中,使用 mavenArtifacts 欄位指定應用程式路徑和 Artifact Registry 中的 Maven 存放區:

    artifacts:
      mavenArtifacts:
      - repository: 'https://location-maven.pkg.dev/project-id/repository-name'
        path: 'app-path'
        artifactId: 'build-artifact'
        groupId: 'group-id'
        version: 'version'
    

    替換下列值:

    • location:Artifact Registry 中存放庫的位置
    • project-id:包含 Artifact Registry 存放區的 Google Cloud 專案 ID。
    • repository-name:Artifact Registry 中的 Maven 存放區名稱。
    • app-path:封裝應用程式的路徑。
    • build-artifact:透過建構步驟建立的套件檔案名稱。
    • group-id:在所有 Maven 專案中以 com.mycompany.app 格式唯一識別您的專案。詳情請參閱 Maven 命名慣例指南
    • version:應用程式的版本號碼,以數字和點格式呈現,例如 1.0.1
  5. 選用:啟用來源產生功能

    Cloud Build 可產生可驗證的軟體構件供應鏈級別 (SLSA) 建構來源中繼資料,協助保護持續整合管道。

    如要啟用來源產生功能,請在設定檔的 options 部分中新增 requestedVerifyOption: VERIFIED

  6. 啟動建構作業手動使用建構觸發條件

    建構作業完成後,您可以在 Artifact Registry 中查看存放區詳細資料

    您也可以查看建構來源資訊中繼資料,以及驗證來源資訊

後續步驟