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
gcloudnesta 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 comomavenoumaven:<tag>, em que a etiqueta representa a versão. Se não especificar a etiqueta de imagem, o Cloud Build usa a imagemlatestpor predefinição.entrypoint: a definição deste campo substitui o ponto de entrada predefinido da imagem referenciada emname. Defina o valor deste campo comomvnpara invocarmvncomo o ponto de entrada da etapa de compilação e executar comandosmvn.args: o campoargsde 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
mavenfornece omaven test, que transfere dependências, cria as aplicações e executa todos os testes especificados no seu código-fonte. O campoargsde 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
testao campoargspara invocartestemmaven: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 comandopackageno campoargs. O comandopackagecria 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
mavenArtifactspara 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çãooptionsno 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.