Esta página foi traduzida pela API Cloud Translation.
Switch to English

Como criar aplicativos Java

Nesta página, explicaremos como usar o Cloud Build para criar e testar aplicativos baseados em Java. Se você não tiver familiaridade com o Cloud Build, leia os guias de início rápido do Cloud Build.

Antes de começar

Como usar a imagem maven ou gradle

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

Para executar suas tarefas na imagem maven ou gradle, especifique o URL da imagem e o build marcado da imagem no campo name do seu arquivo de configuração de 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 ou gradle como um ponto de entrada, especifique mvn ou gradle no campo entrypoint.

O seguinte arquivo de configuração de build especifica entrypoint para a imagem maven ou gradle e imprime o build da ferramenta de build:

maven

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

gradle

  steps:
  - name: gradle:5.6.2-jdk8
    entrypoint: gradle
    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. Execute testes: maven e gradle fornecem maven test e gradle test, que fazem download de dependências, criam os aplicativos e executam quaisquer testes especificados no código-fonte. O campo args de uma etapa de criação recebe uma lista de argumentos e os transmite para a imagem referenciada pelo campo name.

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

    maven

     steps:
     - name: maven:3-jdk-8
       entrypoint: mvn
       args: ['test']
    

    gradle

     steps:
     - name: gradle:5.6.2-jdk8
       entrypoint: gradle
       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/.

    Para empacotar o aplicativo em um arquivo JAR para a imagem gradle, especifique o comando assemble no campo args. O comando assemble cria um arquivo JAR em workspace/build/libs.

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

    maven

     steps:
     - name: maven:3-jdk-8
       entrypoint: mvn
       args: ['package','-Dmaven.test.skip=true']
    

    gradle

    steps:
    - name: gradle:5.6.2-jdk8
      entrypoint: gradle
      args: ['assemble']
    
  4. Contentorize o aplicativo: o Cloud Build fornece uma imagem do Docker pré-criada que pode ser usada para contentorizar o aplicativo Java. Para contentorizar o aplicativo Java, no seu arquivo de configuração de build:

    • Adicione um campo name e especifique a imagem do Docker pré-criada, que é armazenada no Container Registry em gcr.io/cloud-builders/docker.
    • Adicione um campo args e especifique o argumento build, o nome da imagem de contêiner a ser criada e o caminho para o artefato de criação em --build-arg.
    • Adicione um campo images para enviar a imagem criada para o Container Registry.

    A etapa de criação a seguir contentoriza o aplicativo e envia a imagem para o Container Registry:

    maven

    steps:
    - name: gcr.io/cloud-builders/docker
      args: ['build', '-t', 'gcr.io/project-id/image-name', '--build-arg=JAR_FILE=target/build-artifact', '.']
    images: ['gcr.io/project-id/image-name']
    

    gradle

    steps:
    - name: gcr.io/cloud-builders/docker
      args: ['build', '-t', 'gcr.io/project-id/image-name', '--build-arg=JAR_FILE=build/libs/build-artifact', '.']
    images: ['gcr.io/project-id/image-name']
    

    Em que:

    • project-id é o ID do projeto do Cloud.
    • image-name: o nome da imagem do contêiner.
    • build-artifact: o nome do arquivo JAR criado na etapa de versão.
  5. Inicie o build: quando o arquivo de configuração de build estiver pronto, inicie o build digitando o seguinte comando no terminal:

    gcloud builds submit --config config-file-path source-directory
    

    Em que:

    • config-file-path: o caminho para o arquivo de configuração da versão. Neste exemplo, o arquivo de configuração de build é denominado cloudbuild.yaml;
    • source-directory: o caminho ou o URL do código-fonte.

    Se você não especificar config-file-path e source-directory no comando gcloud builds submit, o Cloud Build presumirá que o arquivo de configuração e o código-fonte estão no diretório de trabalho atual.

Exemplos de código

Aqui estão alguns repositórios de exemplo que podem ser usados para criar aplicativos Java, cada um contendo um aplicativo de amostra e um arquivo de configuração de build para construir e testar esse aplicativo:

  • maven-example: um aplicativo Java e um exemplo de arquivo de configuração de build para criar e testar o aplicativo com mvn.
  • gradle-example: um aplicativo Java e um exemplo de arquivo de configuração de build para criar e testar o aplicativo com gradle.

A seguir