Delen via


Java-apps bouwen

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

Gebruik Azure Pipelines om de build, test en implementatie van Java-toepassingen te automatiseren. In dit artikel wordt uitgelegd hoe u een pijplijn instelt voor Java-projecten met behulp van hulpprogramma's zoals Maven, Gradle of Ant. U leert ook hoe u uw app implementeert in Azure-services, zoals App Service, Functions of Kubernetes.

Gebruik een pijplijn om het volgende te doen:

Als u aan een Android-project werkt, raadpleegt u Android-apps bouwen, testen en implementeren.

Vereisten

Product Eisen
Azure DevOps - Een Azure DevOps-project.
- Een vermogen om pijplijnen uit te voeren op agents die door Microsoft worden gehost. U kunt een parallelle taak aanschaffen of u kunt een gratis laag aanvragen.
- Basiskennis van YAML en Azure Pipelines. Zie Uw eerste pijplijn makenvoor meer informatie.
- Toestemmingen:
     - Als u een pijplijn wilt maken: u moet zich in de groep Inzenders bevinden en de groep moet de machtiging Maak een build-pijplijn hebben ingesteld op Toestaan. Leden van de groep Projectbeheerders kunnen pijplijnen beheren.
    - Als u serviceverbindingen wilt maken: u moet de Administrator- of Creator- rol hebben voor serviceverbindingen.
GitHub - Een GitHub-account.
- Een GitHub-serviceverbinding om Azure Pipelines te autoriseren.
Azuur Een Azure-abonnement.
Product Eisen
Azure DevOps - Een Azure DevOps-project.
- Een zelfgehoste agent. Om er een te maken, zie Zelfgehoste agents.
- Basiskennis van YAML en Azure Pipelines. Zie Uw eerste pijplijn makenvoor meer informatie.
- Toestemmingen:
    - Als u een pijplijn wilt maken: u moet zich in de groep Inzenders bevinden en de groep moet de machtiging Maak een build-pijplijn hebben ingesteld op Toestaan. Leden van de groep Projectbeheerders kunnen pijplijnen beheren.
    - Als u serviceverbindingen wilt maken: u moet de Administrator- of Creator- rol hebben voor serviceverbindingen.
GitHub - Een GitHub-account.
- Een GitHub-serviceverbinding om Azure Pipelines te autoriseren.
Azuur Een Azure-abonnement.

Een GitHub-opslagplaats maken

Fork de volgende opslagplaats naar uw GitHub-account:

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

Een pipeline maken

  1. Meld u aan bij uw Azure DevOps-organisatie en ga naar uw project.

  2. Ga naar Pijplijnen en selecteer vervolgens Nieuwe pijplijn of Pijplijn maken als u de eerste pijplijn in het project maakt.

  3. Volg de stappen van de wizard, te beginnen door 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.

  4. Selecteer uw opslagplaats. U wordt mogelijk omgeleid naar GitHub om de Azure Pipelines-app te installeren. Als dat zo is, selecteert u Goedkeuren en installeren om door te gaan.

  5. Wanneer u het tabblad Uw pijplijn configureren ziet, selecteert u Maven, Gradle of Ant, afhankelijk van hoe u uw code wilt bouwen.

  6. In uw opslagplaats wordt er een bestand met uw pijplijndefinitie gemaakt en geopend in de YAML-editor. U kunt de pijplijn aanpassen door meer taken toe te voegen of de bestaande taken te wijzigen. Zie Uw code bouwen voor meer informatie over de buildtaken.

  7. Wanneer u klaar bent met het azure-pipelines.ymlbewerken, selecteert u Opslaan en uitvoeren.

  8. Als u het azure-pipelines.yml bestand wilt doorvoeren in uw opslagplaats, selecteert u Opslaan en opnieuw uitvoeren .

Selecteer Taak om uw pijplijn in actie te bekijken.

  1. Ga naar uw verzameling en selecteer uw project.

  2. Selecteer Pijplijnen en selecteer vervolgens Nieuwe pijplijn of Pijplijn maken als u de eerste pijplijn in het project maakt.

  3. Voer de stappen van de wizard uit door eerst GitHub Enterprise Server te selecteren als de locatie van uw broncode.

  4. Gebruik een bestaande GitHub-serviceverbinding of maak een nieuwe.

    Een serviceverbinding maken:

    1. Selecteer Verbinding maken met GitHub Enterprise Server.
    2. Voer de URL van uw GitHub Enterprise Server in.
    3. Voer uw persoonlijke toegangstoken voor GitHub Enterprise Server in. Als u geen persoonlijk toegangstoken hebt, kunt u er een maken in uw GitHub Enterprise Server-account. Zie Een persoonlijk toegangstoken maken voor meer informatie.
  5. Selecteer uw opslagplaats. U wordt mogelijk omgeleid naar GitHub om de Azure Pipelines-app te installeren. Als dat het zo is, selecteert u Goedkeuren en installeren.

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

  7. In uw opslagplaats wordt er een bestand met uw pijplijndefinitie gemaakt en geopend in de YAML-editor. U kunt de pijplijn aanpassen door meer taken toe te voegen of de bestaande taken te wijzigen. Zie Uw code bouwen voor meer informatie over de buildtaken.

  8. Wanneer u klaar bent met het azure-pipelines.ymlbewerken, selecteert u Opslaan en uitvoeren.

  9. Als u het azure-pipelines.yml bestand wilt doorvoeren in uw opslagplaats, selecteert u Opslaan en opnieuw uitvoeren .

U kunt Job selecteren om uw pijplijn in actie te bekijken.

U hebt nu een werkende YAML-pijplijn (azure-pipelines.yml) in uw opslagplaats die u kunt aanpassen. Als u wijzigingen in uw pijplijn wilt aanbrengen, selecteert u deze op de pagina Pijplijnen en bewerkt u het azure-pipelines.yml bestand.

Omgeving bouwen

Gebruik Azure Pipelines om Java-apps te bouwen zonder infrastructuur in te stellen. Bouw voort op Windows-, Linux- of macOS-installatiekopieën. 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 controleren welke versies van Java zijn geïnstalleerd, raadpleegt u door Microsoft gehoste agents.

Selecteer de juiste afbeelding door het volgende fragment in het azure-pipelines.yml bestand bij te werken.

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

Zie Microsoft-gehoste agents voor een volledige lijst van afbeeldingen.

Als alternatief voor door Microsoft gehoste agents kunt u zelf-hostende agents instellen waarop Java is geïnstalleerd. Gebruik zelf-hostende agents om tijd te besparen als u een grote opslagplaats hebt of incrementele builds uitvoert.

Builds worden uitgevoerd op een zelfgehoste agent. Zorg ervoor dat Java en de hulpprogramma's die vereist zijn voor de gekozen buildmethode, zijn geïnstalleerd op de host van de agent.

U kunt uw agentgroep en de agentmogelijkheden selecteren in de secties Agentgroep en Agentspecificatie van het tabblad Opties in de pijplijneditor.

Geef bijvoorbeeld de agentgroep en een agent met de Maven-functie op door het volgende fragment toe te voegen aan uw azure-pipelines.yml bestand.

pool: 
  name: MyPool
  demands: maven

Uw code bouwen

U kunt uw Java-app bouwen met Maven, Gradle, Ant of een script. In de volgende secties ziet u hoe u een bouwstap toevoegt aan uw pijplijn voor alle methoden.

Maven

Voor een Maven-build voegt u de volgende taken toe aan het azure-pipelines.yml bestand. Vervang de waarden die overeenkomen met uw project. Zie de Maven-taak voor meer informatie over de taakopties.

steps:
- task: Maven@4
  inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: 'default'
    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 het pom.xml bestand weerspiegelt. Als u bijvoorbeeld de Spring Boot-voorbeeldopslagplaats gebruikt, is uw pad complete/pom.xml.

Het buildpad aanpassen

Stel de mavenPomFile waarde in als het 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 waarde voor doelen 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.

Gradel

Voor een Gradle-build voegt u de volgende taak toe aan het azure-pipelines.yml bestand. Zie de Gradle-taak voor meer informatie over deze opties.

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

Gradle wrapper

Zorg ervoor dat het gradlew bestand zich in de opslagplaats bevindt. Als dat niet het geval is, genereert u het door gradle wrapper uit te voeren in de hoofdmap van het project. Zie gradle voor informatie over het maken van een Gradle-wrapper.

De versie van Gradle kiezen

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

Het bouwpad aanpassen

Stel de workingDirectory waarde in als het 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.

Mier

Voeg met Ant-build de volgende taak toe aan uw azure-pipelines.yml bestand. Wijzig waarden, zoals het pad naar het build.xml bestand, zodat deze overeenkomt met de projectconfiguratie. Zie de Ant-taak voor meer informatie over deze opties. Als u de voorbeeldopslagplaats gebruikt, moet u een build.xml bestand in uw opslagplaats opgeven.

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

Script

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

Inlinescript

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

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

Scriptbestand

Met deze taak 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

Publiceer de build-uitvoer naar uw pijplijn. Uw app inpakken en publiceren in een Maven-pakket of een WAR/JAR-bestand om deze te implementeren in een webtoepassing.

Meer informatie over het maken van een CI/CD-pijplijn voor uw implementatiedoel: