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 project. Als u er nog geen hebt, maakt u nu een project .
- Een pijplijn. Als u er nog geen hebt, maakt u nu een pijplijn .
Een pijplijn maken
Fork de volgende opslagplaats op GitHub:
https://github.com/MicrosoftDocs/pipelines-java
Meld u aan bij uw Azure DevOps-organisatie en ga naar uw project.
Ga naar Pijplijnen en selecteer vervolgens Nieuwe pijplijn.
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.
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&.
Wanneer u het tabblad Configureren ziet, selecteert u Maven of Gradle of Ant , afhankelijk van hoe u uw code wilt bouwen.
Wanneer u klaar bent, selecteert u Opslaan en uitvoeren.
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.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.
Importeer de volgende opslagplaats in uw Git-opslagplaats in Azure DevOps Server 2019:
https://github.com/MicrosoftDocs/pipelines-java
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.
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.
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.xml
uw 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.
Meer informatie over het maken van een CI/CD-pijplijn voor uw implementatiedoel: