构建和测试 Java 应用

本页介绍了如何使用 Cloud Build 构建和测试基于 Java 的应用、将构建的工件存储在 Artifact Registry 中的 Maven 仓库中,以及生成构建来源信息。

准备工作

使用 maven 映像

您可以将 Cloud Build 配置为使用 Docker Hub 中的 maven 映像来构建 Java 应用。

如需在 maven 映像中执行您的任务,请向 build 配置文件添加一个步骤,并添加以下字段:

  • 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. 软件包应用 (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']
    
  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 制品库的项目的 ID。 Google Cloud
    • repository-name:Artifact Registry 中 Maven 仓库的名称。
    • app-path:打包应用的路径。
    • build-artifact:根据构建步骤创建的软件包文件的名称。
    • group-id:在所有 Maven 项目中唯一标识您的项目,格式为 com.mycompany.app。如需了解详情,请参阅 Maven 命名惯例指南
    • version:应用的版本号,格式为数字和点,例如 1.0.1
  5. 可选:启用来源生成功能

    Cloud Build 可以生成可验证的软件工件的供应链级别 (SLSA) 构建来源元数据,以帮助保护您的持续集成流水线。

    如需启用来源生成,请将 requestedVerifyOption: VERIFIED 添加到配置文件中的 options 部分。

  6. 启动构建手动使用构建触发器

    构建完成后,您可以在 Artifact Registry 中查看代码库详情

    您还可以查看 build 来源元数据验证来源

后续步骤