Esta página explica como usar o Cloud Build para criar e testar aplicações baseadas em Java, armazenar artefactos criados num repositório Maven no Artifact Registry e gerar informações de proveniência da compilação.
Antes de começar
- Ter experiência na criação de aplicações baseadas em Java.
- Familiarize-se com o Maven
- Tenha o seu projeto Java pronto.
- Conhecer como escrever um ficheiro de configuração do Cloud Build.
- Ter um repositório Maven no Artifact Registry. Se não tiver um, crie um novo repositório.
- Para executar os comandos
gcloud
nesta página, instale a CLI do Google Cloud.
Usar a imagem maven
Pode configurar o Cloud Build para criar aplicações Java através da imagem maven
do Docker Hub.
Para executar as suas tarefas na imagem maven
, adicione um passo à configuração de compilação com os seguintes campos:
name
: defina o valor deste campo comomaven
oumaven:<tag>
, em que a etiqueta representa a versão. Se não especificar a etiqueta de imagem, o Cloud Build usa a imagemlatest
por predefinição.entrypoint
: a definição deste campo substitui o ponto de entrada predefinido da imagem referenciada emname
. Defina o valor deste campo comomvn
para invocarmvn
como o ponto de entrada da etapa de compilação e executar comandosmvn
.args
: o campoargs
de um passo de compilação recebe uma lista de argumentos e transmite-os à imagem referenciada pelo camponame
.
O passo de compilação seguinte especifica o entrypoint
para a imagem maven
etiquetada como 3.3-jdk-8
e imprime a versão da ferramenta de compilação:
steps:
- name: maven:3.3-jdk-8
entrypoint: mvn
args: ['--version']
Configurar compilações Java
No diretório raiz do projeto, crie um ficheiro de configuração de compilação denominado
cloudbuild.yaml
.Executar testes: o
maven
fornece omaven test
, que transfere dependências, cria as aplicações e executa todos os testes especificados no seu código-fonte. O campoargs
de um passo de compilação recebe uma lista de argumentos e transmite-os à imagem referenciada pelo camponame
.No ficheiro de configuração de compilação, adicione
test
ao campoargs
para invocartest
emmaven
:steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['test']
Empacote a aplicação: para empacotar a aplicação num ficheiro JAR para a sua imagem
maven
, especifique o comandopackage
no campoargs
. O comandopackage
cria um ficheiro JAR em/workspace/target/
.O seguinte passo de compilação compacta a sua aplicação Java:
steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['package','-Dmaven.test.skip=true']
Carregue para o Artifact Registry:
No ficheiro de configuração de compilação, use o campo
mavenArtifacts
para especificar o caminho da aplicação 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: a localização do seu repositório no Artifact Registry.
- project-id: o ID do Google Cloud projeto que contém o seu repositório do Artifact Registry.
- repository-name: o nome do seu repositório Maven no Artifact Registry.
- app-path: o caminho para a sua aplicação comprimida.
- build-artifact: o nome do ficheiro do pacote criado a partir do passo de compilação.
- group-id: identifica exclusivamente o seu projeto em todos os projetos Maven, no formato
com.mycompany.app
. Para mais informações, consulte o guia do Maven sobre convenções de nomenclatura. - version: o número da versão da sua aplicação, formatado em números e pontos, como
1.0.1
.
Opcional: ative a geração de proveniência
O Cloud Build pode gerar metadados de proveniência de compilação Supply chain Levels for Software Artifacts (SLSA) validáveis para ajudar a proteger a sua pipeline de integração contínua.
Para ativar a geração de proveniência, adicione
requestedVerifyOption: VERIFIED
à secçãooptions
no seu ficheiro de configuração.Inicie a compilação: manualmente ou usando acionadores de compilação.
Quando a compilação estiver concluída, pode ver os detalhes do repositório no Artifact Registry.
Também pode ver metadados de proveniência da compilação e validar a proveniência.
O que se segue?
- Saiba como ver os resultados da compilação.
- Saiba como proteger as compilações.
- Saiba como fazer implementações azul/verde no Compute Engine.
- Saiba como criar e colocar em contentores aplicações Java.
- Saiba como implementar uma aplicação no Cloud Run.
- Saiba como implementar uma aplicação no GKE.
- Saiba como resolver problemas de erros de compilação.