Criar e testar aplicativos Java

Nesta página, explicamos como usar o Cloud Build para criar e testar aplicativos baseados em Java, armazenar artefatos criados em um repositório Maven no Artifact Registry e gerar informações de procedência da versão.

Antes de começar

Como usar a imagem maven

É possível configurar o Cloud Build para criar aplicativos Java usando a imagem maven do Docker Hub.

Para executar suas tarefas na imagem maven, especifique o URL da imagem e a versão marcada da imagem no campo name do arquivo de configuração do build. Se você não especificar a tag de imagem, o Cloud Build usará a imagem latest por padrão. O Cloud Build inicia a imagem especificada em name usando o ponto de entrada padrão da imagem. Para substituir o ponto de entrada padrão e invocar maven como um ponto de entrada, especifique mvn no campo entrypoint.

O seguinte arquivo de configuração de build especifica o entrypoint para a imagem maven e mostra a versão da ferramenta de build:

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

Como configurar builds Java

  1. No diretório raiz do projeto, crie um arquivo de configuração de build chamado cloudbuild.yaml.

  2. Executar testes: o maven fornece maven test, que faz o download de dependências, cria os aplicativos e executa todos os testes especificados no código-fonte. O campo args de uma etapa de build recebe uma lista de argumentos e os transmite para a imagem referenciada pelo campo name.

    No arquivo de configuração de build, adicione test ao campo args para invocar test em maven:

         steps:
         - name: maven:3.3-jdk-8
           entrypoint: mvn
           args: ['test']
    
  3. Empacote o aplicativo: para empacotar o aplicativo em um arquivo JAR para a imagem maven, especifique o comando package no campo args. O comando package cria um arquivo JAR em /workspace/target/.

    A etapa de criação a seguir empacota seu aplicativo Java:

         steps:
         - name: maven:3.3-jdk-8
           entrypoint: mvn
           args: ['package','-Dmaven.test.skip=true']
    
  4. Faça upload para o Artifact Registry:

    O Cloud Build gera informações de procedência do build Supply Chain Levels for Software Artifacts (SLSA) para pacotes Maven independentes quando você faz upload de artefatos no Artifact Registry usando o campo mavenArtifacts no arquivo de configuração do Cloud Build.

    No arquivo de configuração de build, use o campo mavenArtifacts para especificar o caminho do arquivo do aplicativo e o repositório Maven no 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'
    

    Substitua os seguintes valores:

    • location: o local do seu repositório no Artifact Registry.
    • project-id: o ID do projeto do Google Cloud que contém o repositório do Artifact Registry.
    • repository-name: o nome do repositório Maven no Artifact Registry.
    • app-path: o caminho para o aplicativo empacotado.
    • build-artifact: o nome do arquivo de pacote criado na etapa de build.
    • group-id: identifica seu projeto de forma exclusiva em todos os projetos Maven no formato com.mycompany.app. Para mais informações, consulte o guia do Maven para convenções de nomenclatura.
    • version: o número da versão do aplicativo, formatado em números e pontos como 1.0.1.
  5. Opcional: ativar a procedência para builds regionais

    Se você estiver usando um build regional, adicione o campo requestedVerifyOption no options no arquivo de configuração do build. Defina o valor como VERIFIED para ativar a geração de metadados de procedência. Se você não adicionar requestedVerifyOption: VERIFIED, o Cloud Build vai gerar procedência apenas para builds globais.

    options:
      requestedVerifyOption: VERIFIED
    
  6. Iniciar seu build: manualmente ou usando gatilhos de compilação.

    Quando o build for concluído, será possível acessar os detalhes do repositório no Artifact Registry.

    Também é possível conferir os metadados de procedência do build e a validação para ajudar a proteger sua cadeia de suprimentos de software.

A seguir