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
- Familiarize-se com a criação de aplicativos baseados em Java.
- Conhecer o Maven.
- Prepare seu projeto Java.
- Familiarize-se com a gravação de um arquivo de configuração do Cloud Build.
- Ter um repositório Maven no Artifact Registry. Se você não tiver um, crie um novo repositório.
- Para executar os comandos
gcloud
nesta página, instale a Google Cloud CLI.
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
No diretório raiz do projeto, crie um arquivo de configuração de build chamado
cloudbuild.yaml
.Executar testes: o
maven
fornecemaven test
, que faz o download de dependências, cria os aplicativos e executa todos os testes especificados no código-fonte. O campoargs
de uma etapa de build recebe uma lista de argumentos e os transmite para a imagem referenciada pelo camponame
.No arquivo de configuração de build, adicione
test
ao campoargs
para invocartest
emmaven
:steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['test']
Empacote o aplicativo: para empacotar o aplicativo em um arquivo JAR para a imagem
maven
, especifique o comandopackage
no campoargs
. O comandopackage
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']
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
.
Opcional: ativar a procedência para builds regionais
Se você estiver usando um build regional, adicione o campo
requestedVerifyOption
nooptions
no arquivo de configuração do build. Defina o valor comoVERIFIED
para ativar a geração de metadados de procedência. Se você não adicionarrequestedVerifyOption: VERIFIED
, o Cloud Build vai gerar procedência apenas para builds globais.options: requestedVerifyOption: VERIFIED
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
- Saiba como ver os resultados da build.
- Aprenda a proteger builds.
- Saiba como realizar implantações azul-verde no Compute Engine.
- Saiba como criar e conteinerizar aplicativos Java.
- Saiba como implantar um aplicativo no Cloud Run.
- Saiba como implantar um aplicativo no GKE.
- Saiba como resolver erros de build.