本頁說明如何使用 Cloud Build 建構及測試以 Java 為基礎的應用程式、將建構的構件儲存在 Artifact Registry 中的 Maven 存放區,以及產生建構來源資訊。
事前準備
- 熟悉如何建立以 Java 為基礎的應用程式。
- 熟悉 Maven
- 準備好 Java 專案。
- 熟悉如何編寫 Cloud Build 設定檔。
- 在 Artifact Registry 中擁有 Maven 存放區。如果沒有,請建立新的存放區。
- 如要執行本頁中的
gcloud
指令,請安裝 Google Cloud CLI。
使用 maven
圖片
您可以設定 Cloud Build,以便使用 Docker Hub 中的 maven
映像檔建構 Java 應用程式。
如要在 maven
映像檔中執行工作,請在建構設定中加入步驟,並使用下列欄位:
name
:將這個欄位的值設為maven
或maven:<tag>
,其中標記代表版本。如果未指定映像檔標記,Cloud Build 預設會使用latest
映像檔。entrypoint
:設定這個欄位會覆寫name
中參照圖片的預設進入點。將這個欄位的值設為mvn
,即可將mvn
做為建構步驟的進入點,並執行mvn
指令。args
:建構步驟的args
欄位會取得引數清單,並將其傳送至name
欄位參照的圖片。
以下建構步驟會為標示為 3.3-jdk-8
的 maven
映像檔指定 entrypoint
,並列印建構工具版本:
steps:
- name: maven:3.3-jdk-8
entrypoint: mvn
args: ['--version']
設定 Java
版本
在專案根目錄中,建立名為
cloudbuild.yaml
的建構設定檔。執行測試:
maven
提供maven test
,可下載依附元件、建構應用程式,以及執行原始碼中指定的任何測試。建構步驟的args
欄位會取得引數清單,並將其傳送至name
欄位參照的映像檔。在建構設定檔中,將
test
新增至args
欄位,以便在maven
中叫用test
:steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['test']
封裝應用程式:如要將應用程式封裝至
maven
映像檔的 JAR 檔案中,請在args
欄位中指定package
指令。package
指令會在/workspace/target/
中建構 JAR 檔案。下列建構步驟會為 Java 應用程式打包:
steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['package','-Dmaven.test.skip=true']
上傳至 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
。
選用:啟用來源產生功能
Cloud Build 可產生可驗證的軟體構件供應鏈級別 (SLSA) 建構來源中繼資料,協助保護持續整合管道。
如要啟用來源產生功能,請在設定檔的
options
部分中新增requestedVerifyOption: VERIFIED
。-
建構作業完成後,您可以在 Artifact Registry 中查看存放區詳細資料。
您也可以查看建構來源資訊中繼資料,以及驗證來源資訊。
後續步驟
- 瞭解如何查看建構結果。
- 瞭解如何保護建構作業。
- 瞭解如何在 Compute Engine 上執行藍綠部署作業。
- 瞭解如何建構及封裝 Java 應用程式。
- 瞭解如何在 Cloud Run 上部署應用程式。
- 瞭解如何在 GKE 上部署應用程式。
- 瞭解如何排解建構錯誤。