Java-apps bouwen

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

Notitie

De volgende richtlijnen maken gebruik van OP YAML gebaseerde pijplijnen die beschikbaar zijn in Azure Pipelines. Gebruik taken die overeenkomen met de taken die in de volgende YAML worden gebruikt.

U kunt een pijplijn gebruiken om uw Java-projecten automatisch te bouwen en te testen. Nadat u uw app hebt gebouwd en getest, kunt u uw app implementeren in Azure App Service, Azure Functions of Azure Kubernetes Service. Als u aan een Android-project werkt, raadpleegt u Android-apps bouwen, testen en implementeren.

Vereisten

U moet de volgende items in Azure DevOps hebben:

Een pijplijn maken

  1. Fork de volgende opslagplaats op GitHub:

    https://github.com/MicrosoftDocs/pipelines-java
    
  2. Meld u aan bij uw Azure DevOps-organisatie en ga naar uw project.

  3. Ga naar Pijplijnen en selecteer vervolgens Nieuwe pijplijn.

  4. Voer de stappen van de wizard uit door eerst GitHub te selecteren als de locatie van uw broncode. U wordt mogelijk omgeleid naar GitHub om u aan te melden. Voer in dat geval uw GitHub-referenties in.

  5. Selecteer uw opslagplaats. U wordt mogelijk omgeleid naar GitHub om de Azure Pipelines-app te installeren. Als dat het zo is, selecteert u De installatie goedkeuren&.

  6. Wanneer u het tabblad Configureren ziet, selecteert u Maven of Gradle of Ant , afhankelijk van hoe u uw code wilt bouwen.

  7. Wanneer u klaar bent, selecteert u Opslaan en uitvoeren.

  8. Voer een nieuw azure-pipelines.yml-bestand door naar uw opslagplaats. Selecteer Opslaan en opnieuw uitvoeren .

    Als u de pijplijn in actie wilt bekijken, selecteert u de buildtaak.

    U hebt zojuist een pijplijn gemaakt en uitgevoerd, omdat uw code een goede overeenkomst leek te zijn voor de Maven-sjabloon die automatisch voor u is gemaakt.

    U hebt nu een werkende YAML-pijplijn (azure-pipelines.yml) in uw opslagplaats die u kunt aanpassen.

  9. Wanneer u klaar bent om wijzigingen aan te brengen in uw pijplijn, selecteert u deze op de pagina Pijplijnen en bewerkt u het azure-pipelines.yml bestand.

  1. Importeer de volgende opslagplaats in uw Git-opslagplaats in Azure DevOps Server 2019:

    https://github.com/MicrosoftDocs/pipelines-java
    
  2. Sla de pijplijn op en plaats een build in de wachtrij. Wanneer het Build #nnnnnnnn.n has been queued bericht wordt weergegeven, selecteert u de nummerkoppeling om uw pijplijn in actie te zien. U hebt nu een werkende pijplijn die u op elk gewenst moment kunt aanpassen.

  1. Importeer de volgende opslagplaats in uw Git-opslagplaats in TFS:

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

    Met deze sjabloon worden automatisch de taken toegevoegd die u nodig hebt om de code in de voorbeeldopslagplaats te bouwen.

  2. Sla de pijplijn op en plaats een build in de wachtrij. Wanneer het Build #nnnnnnnn.n has been queued bericht wordt weergegeven, selecteert u de nummerkoppeling om uw pijplijn in actie te zien. U hebt nu een werkende pijplijn die u op elk gewenst moment kunt aanpassen.

Lees verder voor meer informatie over enkele veelgebruikte manieren om uw pijplijn aan te passen.

Omgeving bouwen

U kunt Azure Pipelines gebruiken om Java-apps te bouwen zonder dat u zelf infrastructuur hoeft in te stellen. U kunt bouwen op Windows-, Linux- of macOS-installatiekopieën. De door Microsoft gehoste agents in Azure Pipelines hebben moderne JDK's en andere hulpprogramma's voor Java die vooraf zijn geïnstalleerd. Als u wilt weten welke versies van Java zijn geïnstalleerd, raadpleegt u door Microsoft gehoste agents.

Werk het volgende codefragment in uw azure-pipelines.yml bestand bij om de juiste afbeelding te selecteren.

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

Zie door Microsoft gehoste agents voor een volledige lijst met installatiekopieën.

Als alternatief voor het gebruik van door Microsoft gehoste agents kunt u zelf-hostende agents instellen waarop Java is geïnstalleerd. U kunt ook zelf-hostende agents gebruiken om meer tijd te besparen als u een grote opslagplaats hebt of als u incrementele builds kunt uitvoeren.

Uw builds worden uitgevoerd op een zelf-hostende agent. Zorg ervoor dat Java is geïnstalleerd op de agent.

Uw code bouwen

Maven

Met uw Maven-build wordt het volgende codefragment toegevoegd aan uw azure-pipelines.yml bestand. U kunt waarden, zoals het pad naar uw pom.xml bestand, wijzigen zodat deze overeenkomt met de projectconfiguratie. Zie de Maven-taak voor meer informatie over deze opties.

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

Voor Spring Boot kunt u ook de Maven-taak gebruiken. Zorg ervoor dat uw mavenPomFile waarde het pad naar uw pom.xml bestand weerspiegelt. Als u bijvoorbeeld de Spring Boot-voorbeeldopslagplaats gebruikt, is complete/pom.xmluw pad.

Het buildpad aanpassen

Pas de mavenPomFile waarde aan als uw pom.xml bestand zich niet in de hoofdmap van de opslagplaats bevindt. De waarde van het bestandspad moet relatief zijn ten opzichte van de hoofdmap van de opslagplaats, zoals IdentityService/pom.xml of $(system.defaultWorkingDirectory)/IdentityService/pom.xml.

Maven-doelen aanpassen

Stel de doelwaarde in op een door ruimte gescheiden lijst met doelen die Maven moet uitvoeren, zoals clean package.

Zie de Maven-documentatie van Apache voor meer informatie over veelvoorkomende Java-fasen en -doelen.

Gradle

Met de Gradle-build wordt het volgende codefragment toegevoegd aan uw azure-pipelines.yml bestand. Zie de Gradle-taak voor meer informatie over deze opties.

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

De versie van Gradle kiezen

De versie van Gradle die op de agentcomputer is geïnstalleerd, wordt gebruikt, tenzij het bestand van uw opslagplaats gradle/wrapper/gradle-wrapper.properties een distributionUrl eigenschap heeft die een andere Gradle-versie aangeeft die tijdens de build moet worden gedownload en gebruikt.

Het buildpad aanpassen

Pas de workingDirectory waarde aan als uw gradlew bestand zich niet in de hoofdmap van de opslagplaats bevindt. De mapwaarde moet relatief zijn ten opzichte van de hoofdmap van de opslagplaats, zoals IdentityService of $(system.defaultWorkingDirectory)/IdentityService.

Pas de gradleWrapperFile waarde aan als uw gradlew bestand zich niet in de hoofdmap van de opslagplaats bevindt. De waarde van het bestandspad moet relatief zijn ten opzichte van de hoofdmap van de opslagplaats, zoals IdentityService/gradlew of $(system.defaultWorkingDirectory)/IdentityService/gradlew.

Gradle-taken aanpassen

Pas de taakwaarde aan voor de taken die Gradle moet uitvoeren, zoals build of check.

Zie de documentatie van Gradle voor meer informatie over algemene Java-invoegtoepassingstaken voor Gradle.

Ant

Met Ant-build wordt het volgende codefragment toegevoegd aan uw azure-pipelines.yml bestand. Wijzig waarden, zoals het pad naar uw build.xml bestand, zodat deze overeenkomt met de projectconfiguratie. Zie de ant-taak voor meer informatie over deze opties.

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

Script

Als u wilt bouwen met een opdrachtregel of script, voegt u een van de volgende fragmenten toe aan uw azure-pipelines.yml bestand.

Inlinescript

In de script: stap wordt een inlinescript uitgevoerd met behulp van Bash op Linux en macOS en opdrachtprompt in Windows. Zie de Bash - of opdrachtregeltaak voor meer informatie.

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

Scriptbestand

Met dit fragment wordt een scriptbestand uitgevoerd dat zich in uw opslagplaats bevindt. Zie de Shell-script-, Batch-script- of PowerShell-taak voor meer informatie.

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

Volgende stappen

Nadat u uw app hebt gebouwd en getest, kunt u de build-uitvoer uploaden naar Azure Pipelines, een Maven-pakket maken en publiceren of de build-uitvoer verpakken in een .war/jar-bestand dat moet worden geïmplementeerd in een webtoepassing.