Compartilhar via


Compilar aplicativos Java

Azure DevOps Services | Servidor Azure DevOps | Azure DevOps Server 2022 | Azure DevOps Server 2020

Use o Azure Pipelines para automatizar o build, o teste e a implantação de aplicativos Java. Este artigo explica como configurar um pipeline para projetos Java usando ferramentas como Maven, Gradle ou Ant. Você também aprenderá a implantar seu aplicativo em serviços do Azure, como Serviço de Aplicativo, Funções ou Kubernetes.

Use um fluxo de trabalho para:

Se você trabalhar em projetos Android, consulte Compilar, testar e implantar aplicativos Android.

Pré-requisitos

Produto Requisitos
Azure DevOps - Um projeto do Azure DevOps.
– Capacidade de executar pipelines em agentes hospedados pela Microsoft. Você pode comprar um trabalho paralelo ou solicitar uma camada gratuita.
– Conhecimento básico do YAML e do Azure Pipelines. Para obter mais informações, consulte Criar seu primeiro pipeline.
- Permissões:
     - Para criar um pipeline: você deve estar no grupo Colaboradores e o grupo precisa ter a permissão Criar pipeline de build definida como Permitir. Os membros do grupo Administradores do Projeto podem gerenciar pipelines.
    – Para criar conexões de serviço: você deve ter a função Administrador ou Criador para conexões de serviço.
GitHub - Uma conta do GitHub .
– Uma conexão de serviço do GitHub para autorizar o Azure Pipelines.
Azul Uma assinatura do Azure.
Produto Requisitos
Azure DevOps - Um projeto do Azure DevOps.
- Um agente auto-hospedado. Para criar um, consulte Agentes auto-hospedados.
– Conhecimento básico do YAML e do Azure Pipelines. Para obter mais informações, consulte Criar seu primeiro pipeline.
- Permissões:
    - Para criar um pipeline: você deve estar no grupo Colaboradores e o grupo precisa ter a permissão Criar pipeline de build definida como Permitir. Os membros do grupo Administradores do Projeto podem gerenciar pipelines.
    – Para criar conexões de serviço: você deve ter a função Administrador ou Criador para conexões de serviço.
GitHub - Uma conta do GitHub .
– Uma conexão de serviço do GitHub para autorizar o Azure Pipelines.
Azul Uma assinatura do Azure.

Criar um repositório GitHub

Bifurque o seguinte repositório para sua conta do GitHub:

https://github.com/MicrosoftDocs/pipelines-java

Criar um pipeline

  1. Entre em sua organização do Azure DevOps e acesse seu projeto.

  2. Vá para Pipelines e selecione Novo Pipeline ou Criar Pipeline se estiver criando o primeiro pipeline no projeto.

  3. Siga as etapas do assistente, começando selecionando o GitHub como o local do código-fonte. Você pode ser redirecionado para o GitHub para então entrar. Nesse caso, insira suas credenciais do GitHub.

  4. Selecione seu repositório. Você poderá ser redirecionado ao GitHub para instalar o aplicativo do Azure Pipelines. Em caso afirmativo, selecione Aprovar & instalar para continuar.

  5. Quando você vir a guia Configurar seu pipeline, selecione Maven, Gradle ou Ant dependendo de como você deseja compilar seu código.

  6. Um azure-pipelines.yml arquivo que contém sua definição de pipeline é criado em seu repositório e aberto no editor yaml. Você pode personalizar o pipeline adicionando mais tarefas ou modificando as tarefas existentes. Para obter mais informações sobre as tarefas de compilação, consulte Compilar seu código.

  7. Quando tiver terminado de editar o azure-pipelines.yml, selecione Salvar e executar.

  8. Para confirmar o arquivo azure-pipelines.yml no repositório, selecione Salvar e executar novamente.

Selecione Trabalho para observar seu pipeline em ação.

  1. Acesse sua coleção e selecione seu projeto.

  2. Selecione Pipelines e selecione Novo Pipeline ou Criar Pipeline se estiver criando o primeiro pipeline no projeto.

  3. Siga as etapas do assistente selecionando primeiro GitHub Enterprise Server como o local do código-fonte.

  4. Use uma conexão de serviço GitHub existente ou crie uma nova.

    Para criar uma conexão de serviço:

    1. Selecione Conectar ao GitHub Enterprise Server.
    2. Insira a URL do GitHub Enterprise Server.
    3. Insira o token de acesso pessoal do GitHub Enterprise Server. Se você não tiver um token de acesso pessoal, crie um em sua conta do GitHub Enterprise Server. Para obter mais informações, confira Como criar um token de acesso pessoal.
  5. Selecione seu repositório. Você poderá ser redirecionado ao GitHub para instalar o aplicativo do Azure Pipelines. Se sim, selecione Aprovar e instalar.

  6. Quando você vir a guia Configurar seu pipeline, selecione Maven, Gradle ou Ant dependendo de como você deseja compilar seu código.

  7. Um azure-pipelines.yml arquivo que contém sua definição de pipeline é criado em seu repositório e aberto no editor yaml. Você pode personalizar o pipeline adicionando mais tarefas ou modificando as tarefas existentes. Para obter mais informações sobre as tarefas de compilação, consulte Compilar seu código.

  8. Quando tiver terminado de editar o azure-pipelines.yml, selecione Salvar e executar.

  9. Para confirmar o arquivo azure-pipelines.yml no repositório, selecione Salvar e executar novamente.

Você pode selecionar Trabalho para observar seu pipeline em ação.

Agora você tem um pipeline YAML funcional (azure-pipelines.yml) em seu repositório que está pronto para personalização! Para fazer as alterações no pipeline, selecione-o na página Pipelines e Edite o arquivo azure-pipelines.yml.

Ambiente de build

Use o Azure Pipelines para criar aplicativos Java sem configurar a infraestrutura. Construa em imagens de Windows, Linux ou macOS. Os agentes hospedados pela Microsoft no Azure Pipelines têm JDKs modernos e outras ferramentas para Java pré-instalados. Para verificar quais versões do Java estão instaladas, consulte agentes hospedados pela Microsoft.

Selecione a imagem apropriada atualizando o snippet a seguir em seu azure-pipelines.yml arquivo.

pool:
  vmImage: 'ubuntu-latest' # other options: 'macOS-latest', 'windows-latest'

Confira Agentes hospedados pela Microsoft para obter uma lista completa de imagens.

Como alternativa aos agentes hospedados pela Microsoft, configure agentes auto-hospedados com Java instalado. Use agentes auto-hospedados para economizar tempo se você tiver um repositório grande ou executar builds incrementais.

Os builds são executados em um agente auto-hospedado. Verifique se o Java e as ferramentas necessárias para o método de build escolhido estão instalados no host do agente.

Você pode selecionar seu pool de agentes e os recursos nas seções Pool do agente e Especificação do agente na guia Opções no editor de pipeline.

Por exemplo, especifique o pool de agentes e um agente com a funcionalidade maven adicionando o snippet a seguir ao arquivo azure-pipelines.yml .

pool: 
  name: MyPool
  demands: maven

Compilar seu código

Você pode criar seu aplicativo Java com Maven, Gradle, Ant ou um script. As seções a seguir mostram como adicionar uma etapa de compilação ao pipeline para cada método.

Especialista

Para um build do Maven, adicione as seguintes tarefas ao azure-pipelines.yml arquivo. Substitua os valores para corresponder ao seu projeto. Para obter mais informações sobre as opções de tarefa, consulte a Tarefa do Maven.

steps:
- task: Maven@4
  inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: 'default'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/TEST-*.xml'
    goals: 'package'

Para o Spring Boot, você também pode usar a tarefa Maven. Verifique se o valor mavenPomFile reflete o caminho para o arquivo pom.xml. Por exemplo, se você estiver usando o repositório de exemplo do Spring Boot, seu caminho será complete/pom.xml.

Personalizar o caminho de compilação

Defina o mavenPomFile valor se o pom.xml arquivo não estiver na raiz do repositório. O valor do caminho do arquivo deve ser relativo à raiz do repositório, como IdentityService/pom.xml ou $(system.defaultWorkingDirectory)/IdentityService/pom.xml.

Personalizar metas do Maven

Configure o valor de metas como uma lista de metas separadas por espaço para o Maven executar, como, por exemplo, clean package. Para obter detalhes sobre metas e fases comuns do Java, confira a documentação do Maven do Apache.

Gradle

Para um build do Gradle, adicione a seguinte tarefa ao azure-pipelines.yml arquivo. Para obter mais informações sobre essas opções, confira a tarefa Gradle.

steps:
- task: Gradle@3
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: 'default'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'build'

Invólucro do Gradle

Verifique se o gradlew arquivo está no repositório. Se não estiver, gere-o executando-o gradle wrapper no diretório raiz do projeto. Para obter informações sobre como criar um invólucro do Gradle, consulte o Gradle.

Escolher a versão do Gradle

A versão do Gradle instalada no computador do agente será usada, a menos que o arquivo do gradle/wrapper/gradle-wrapper.properties repositório tenha uma propriedade distributionUrl que especifique uma versão diferente do Gradle para baixar e usar durante a compilação.

Ajustar o caminho da compilação

Defina o workingDirectory valor se o gradlew arquivo não estiver na raiz do repositório. O valor do diretório deve ser relativo à raiz do repositório, como IdentityService ou $(system.defaultWorkingDirectory)/IdentityService.

Ajuste o valor gradleWrapperFile se o arquivo gradlew não estiver na raiz do repositório. O valor do caminho do arquivo deve ser relativo à raiz do repositório, como IdentityService/gradlew ou $(system.defaultWorkingDirectory)/IdentityService/gradlew.

Ajustar tarefas do Gradle

Ajuste o valor das tarefas para as tarefas que o Gradle deve executar, como build ou check. Para obter mais informações sobre as tarefas comuns de Plug-in do Java para o Gradle, confira a documentação do Gradle.

Formiga

Com a compilação Ant, adicione a seguinte tarefa ao arquivo azure-pipelines.yml. Altere os valores, como o caminho para o arquivo build.xml, para corresponder à configuração do projeto. Para obter mais informações sobre essas opções, confira a tarefa Ant. Se estiver usando o repositório de exemplo, você precisará fornecer um arquivo build.xml em seu repositório.

steps:
- task: Ant@1
  inputs:
    workingDirectory: ''
    buildFile: 'build.xml'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: 'default'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'

Roteiro

Para criar com uma linha de comando ou script, adicione um desses snippets ao azure-pipelines.yml arquivo.

Script embutido

A script: etapa executa um script embutido usando o Bash no Linux e no macOS e o Prompt de Comando no Windows. Para obter detalhes, confira a tarefa Bash ou Linha de comando.

steps:
- script: |
    echo Starting the build
    mvn package
  displayName: 'Build with Maven'

Arquivo de script

Essa tarefa executa um arquivo de script que está em seu repositório. Para obter detalhes, confira o Script do Shell, o Script do Lote ou a tarefa do PowerShell.

steps:
- task: ShellScript@2
  inputs:
    scriptPath: 'build.sh'

Próximas etapas

Publique sua saída de build no pipeline. Empacote e publique seu aplicativo em um pacote Maven ou em um arquivo .war/jar para implantá-lo em um aplicativo Web.

Saiba mais sobre como criar um pipeline de CI/CD no destino de implantação: