Compilar aplicações Java

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Você pode usar um pipeline para:

  • Crie seu projeto usando Maven, Gradle ou Ant.
  • Execute testes e ferramentas de análise de código.
  • Publique seu aplicativo em seu pipeline e Artefatos do Azure.
  • Implante seu aplicativo no Serviço de Aplicativo do Azure, no Azure Functions ou no Serviço Kubernetes do Azure.

Se estiver a trabalhar num projeto Android, consulte Criar, testar e implementar aplicações Android.

Pré-requisitos

Para executar o exemplo a seguir, você deve ter:

  • Uma conta do GitHub onde você pode criar um repositório. Crie um gratuitamente.
  • Acesso a uma coleção do Azure DevOps Server.
  • A capacidade de executar o Azure Pipelines em agentes auto-hospedados do Azure DevOps.
  • Um projeto de DevOps do Azure. Se você não tiver um, crie um projeto agora.

Criar um repositório GitHub

Fork o seguinte repo para sua conta do GitHub:

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

Criar um pipeline

  1. Entre na sua organização do Azure DevOps e vá para o seu projeto.

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

  3. Execute as etapas do assistente selecionando primeiro o GitHub como o local do código-fonte. Poderá ser redirecionado para o GitHub para iniciar sessão. Em caso afirmativo, insira suas credenciais do GitHub.

  4. Selecione o seu repo. Você pode ser redirecionado para o GitHub para instalar o aplicativo Azure Pipelines. Em caso afirmativo, selecione Aprovar e instalar.

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

  6. Um azure-pipelines.yml arquivo contendo 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 Criar seu código.

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

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

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

  1. Aceda à sua coleção e selecione o seu projeto.

  2. Selecione Pipelines e, em seguida, selecione New pipeline ou Create pipeline se estiver criando o primeiro pipeline no projeto.

  3. Execute as etapas do assistente selecionando primeiro o 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 seu token de acesso pessoal do GitHub Enterprise Server. Se você não tiver um token de acesso pessoal, poderá criar um em sua conta do GitHub Enterprise Server. Para obter mais informações, consulte Criando um token de acesso pessoal.
  5. Selecione o seu repositório. Você pode ser redirecionado para o GitHub para instalar o aplicativo Azure Pipelines. Em caso afirmativo, selecione Aprovar e instalar.

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

  7. Um azure-pipelines-yml arquivo contendo 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 Criar seu código.

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

  9. Para confirmar o azure-pipelines.yml arquivo em seu 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 você personalizar! Para fazer alterações no pipeline, selecione-o na página Pipelines e edite o azure-pipelines.yml arquivo.

Ambiente de construção

Você pode usar o Azure Pipelines para criar aplicativos Java sem precisar configurar sua própria infraestrutura. Você pode criar com base em imagens do Windows, Linux ou macOS. Os agentes hospedados pela Microsoft no Azure Pipelines têm JDKs modernos e outras ferramentas para Java pré-instaladas. Para saber quais versões do Java estão instaladas, consulte Agentes hospedados pela Microsoft.

Para selecionar a imagem apropriada, atualize o seguinte trecho no arquivo azure-pipelines.yml .

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

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

Como alternativa ao uso de agentes hospedados pela Microsoft, você pode configurar agentes auto-hospedados com o Java instalado. Você também pode usar agentes auto-hospedados para economizar mais tempo se tiver um repositório grande ou executar compilações incrementais.

Suas compilações são executadas em um agente auto-hospedado. Certifique-se de ter o Java e as ferramentas necessárias para construir com o método escolhido instalado no host do agente.

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

Por exemplo, para especificar o pool de agentes e um agente com o recurso Maven, adicione o seguinte trecho ao seu azure-pipelines.yml arquivo.

pool: 
  name: MyPool
  demands: maven

Crie 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 seu pipeline para cada método.

Maven

Com sua compilação do Maven, as seguintes tarefas são adicionadas ao seu 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 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 . Certifique-se de que o valor mavenPomFile reflete o caminho para pom.xml o arquivo. 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

Ajuste o valor se pom.xml o mavenPomFile 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.

Personalize as metas do Maven

Defina o valor das metas para uma lista separada por espaço de metas para o Maven executar, como clean package. Para obter detalhes sobre fases e objetivos comuns do Java, consulte a documentação do Maven do Apache.

Gradle

Com a compilação do Gradle, a tarefa a seguir é adicionada ao seu azure-pipelines.yml arquivo. Para obter mais informações sobre essas opções, consulte a tarefa Gradle .

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

Invólucro Gradle

Você precisa ter um gradlew arquivo em seu repositório. Se você não tiver um, você pode gerá-lo executando gradle wrapper no diretório raiz do seu projeto. Para obter informações sobre como criar um wrapper Gradle, consulte o Gradle.

Escolha a versão do Gradle

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

Ajustar o caminho de compilação

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

Ajuste o valor se gradlew o gradleWrapperFile arquivo 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 tarefas comuns do Java Plugin para o Gradle, consulte a documentação do Gradle.

Ant

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

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

Script

Para criar com uma linha de comando ou script, adicione um dos seguintes trechos ao seu azure-pipelines.yml arquivo.

Script embutido

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

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

Arquivo de script

Esta tarefa executa um arquivo de script que está em seu repositório. Para obter detalhes, consulte a tarefa Shell Script, Batch script ou PowerShell .

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

Próximos passos

Você pode publicar sua saída de compilação em seu pipeline. Você pode empacotar e publicar seu aplicativo em um pacote Maven ou em um arquivo .war/jar a ser implantado em um aplicativo Web.

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