本页面介绍如何使用 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
映像中执行任务,请在 build 配置文件的 name
字段中指定该映像的网址以及该映像的标记版本。如果您未指定映像标记,Cloud Build 将默认使用 latest
映像。Cloud Build 会使用该映像的默认入口点启动 name
中指定的映像。如需替换默认入口点并调用 maven
作为入口点,请在 entrypoint
字段中指定 mvn
。
以下构建配置文件为 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']
软件包应用 (Package application):如需针对
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:
当您使用 Cloud Build 配置文件中的
mavenArtifacts
字段将工件上传到 Artifact Registry 时,Cloud Build 会为独立 Maven 软件包生成软件工件的供应链级别 (SLSA) 构建出处信息。在构建配置文件中,使用
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:采用
com.mycompany.app
格式,在所有 Maven 项目中唯一标识您的项目。如需了解详情,请参阅 Maven 命名惯例指南。 - version:应用的版本号,格式为数字和点,如
1.0.1
。
可选:为区域 build 启用出处
如果您使用的是区域级 build,请在 build 配置文件的
options
中添加requestedVerifyOption
字段。将值设置为VERIFIED
以启用出处元数据生成功能。如果您不添加requestedVerifyOption: VERIFIED
,Cloud Build 仅会为全局构建生成出处。options: requestedVerifyOption: VERIFIED
-
构建完成后,您可以在 Artifact Registry 中查看代码库详情。
您还可以查看 build 出处元数据并验证出处,以帮助保护您的软件供应链。
后续步骤
- 了解如何查看构建结果。
- 了解如何保护 build。
- 了解如何在 Compute Engine 上执行蓝绿部署。
- 了解如何构建 Java 应用并对其进行容器化。
- 了解如何在 Cloud Run 上部署应用。
- 了解如何在 GKE 上部署应用。
- 了解如何排查构建错误。