Skapa Java-appar
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019 | TFS 2018
Anteckning
Följande vägledning använder YAML-baserade pipelines som är tillgängliga i Azure Pipelines. Använd uppgifter som motsvarar de som används i följande YAML.
Du kan använda en pipeline för att automatiskt skapa och testa dina Java-projekt. När du har skapat och testat din app kan du distribuera appen till Azure App Service, Azure Functions eller Azure Kubernetes Service. Om du arbetar med ett Android-projekt kan du läsa Skapa, testa och distribuera Android-appar.
Förutsättningar
Du måste ha följande objekt i Azure DevOps:
- Ett projekt. Om du inte har något skapar du ett projekt nu.
- En pipeline. Om du inte har någon skapar du en pipeline nu.
Skapa en pipeline
Förgrena följande lagringsplats på GitHub:
https://github.com/MicrosoftDocs/pipelines-java
Logga in på din Azure DevOps-organisation och gå till projektet.
Gå till Pipelines och välj sedan Ny pipeline.
Utför stegen i guiden genom att först välja GitHub som plats för källkoden. Du kan omdirigeras till GitHub för att logga in. I så fall anger du dina GitHub-autentiseringsuppgifter.
Välj din lagringsplats. Du kan omdirigeras till GitHub för att installera Azure Pipelines-appen. I så fall väljer du Godkänn & installation.
När du ser fliken Konfigurera väljer du Maven , Gradle eller Ant beroende på hur du vill skapa koden.
När du är klar väljer du Spara och kör.
Checka in en ny azure-pipelines.yml-fil på lagringsplatsen. Välj Spara och kör igen.
Om du vill se din pipeline i praktiken väljer du byggjobbet.
Du har precis skapat och kört en pipeline eftersom koden verkade vara en bra matchning för Maven-mallen som vi skapade automatiskt åt dig.
Nu har du en fungerande YAML-pipeline (
azure-pipelines.yml
) på lagringsplatsen som är redo att anpassas!När du är redo att göra ändringar i pipelinen väljer du den på sidan Pipelinesoch redigerar sedan
azure-pipelines.yml
filen.
Importera följande lagringsplats till din Git-lagringsplats i Azure DevOps Server 2019:
https://github.com/MicrosoftDocs/pipelines-java
Spara pipelinen och köa en version. När meddelandet
Build #nnnnnnnn.n has been queued
visas väljer du nummerlänken för att se din pipeline i praktiken. Nu har du en fungerande pipeline som du kan anpassa när som helst!
Importera följande lagringsplats till din Git-lagringsplats i TFS:
https://github.com/MicrosoftDocs/pipelines-java
Den här mallen lägger automatiskt till de uppgifter som du behöver för att skapa koden i exempellagringsplatsen.
Spara pipelinen och köa en version. När meddelandet
Build #nnnnnnnn.n has been queued
visas väljer du nummerlänken för att se din pipeline i praktiken. Nu har du en fungerande pipeline som du kan anpassa när som helst!
Läs vidare för att lära dig några av de vanligaste sätten att anpassa din pipeline.
Skapa miljö
Du kan använda Azure Pipelines för att skapa Java-appar utan att behöva konfigurera någon egen infrastruktur. Du kan bygga på Windows-, Linux- eller macOS-avbildningar. Microsoft-värdbaserade agenter i Azure Pipelines har moderna JDK:er och andra verktyg för Java förinstallerade. Information om vilka versioner av Java som är installerade finns i Microsoft-värdbaserade agenter.
Uppdatera följande kodfragment i azure-pipelines.yml
filen för att välja lämplig avbildning.
pool:
vmImage: 'ubuntu-latest' # other options: 'macOS-latest', 'windows-latest'
Se Microsoft-värdbaserade agenter för en fullständig lista över avbildningar.
Som ett alternativ till att använda Microsoft-värdbaserade agenter kan du konfigurera lokalt installerade agenter med Java installerat. Du kan också använda lokalt installerade agenter för att spara mer tid om du har en stor lagringsplats eller om du kan köra inkrementella versioner.
Dina byggen körs på en lokalt installerad agent. Kontrollera att Java är installerat på agenten.
Skapa din kod
Maven
Med din Maven-version läggs följande kodfragment till i azure-pipelines.yml
filen. Du kan ändra värden, till exempel sökvägen till pom.xml
filen, så att de matchar projektkonfigurationen. Mer information om de här alternativen finns i Maven-aktiviteten .
steps:
- task: Maven@4
inputs:
mavenPomFile: 'pom.xml'
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
goals: 'package'
För Spring Boot kan du också använda Maven-uppgiften . Kontrollera att värdet mavenPomFile
återspeglar sökvägen till pom.xml
filen. Om du till exempel använder Spring Boot-exempel-lagringsplatsen blir complete/pom.xml
sökvägen .
Anpassa byggsökvägen
Justera värdet mavenPomFile
om pom.xml
filen inte finns i roten på lagringsplatsen. Filsökvägsvärdet ska vara i förhållande till lagringsplatsens rot, till exempel IdentityService/pom.xml
eller $(system.defaultWorkingDirectory)/IdentityService/pom.xml
.
Anpassa Maven-mål
Ange målvärdet till en blankstegsavgränsad lista över mål som Maven ska köra, till exempel clean package
.
Mer information om vanliga Java-faser och mål finns i Apaches Maven-dokumentation.
Gradle
Med Gradle-versionen läggs följande kodfragment till i azure-pipelines.yml
filen. Mer information om dessa alternativ finns i Gradle-uppgiften .
steps:
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
tasks: 'build'
Välj version av Gradle
Versionen av Gradle som är installerad på agentdatorn används om inte lagringsplatsens gradle/wrapper/gradle-wrapper.properties
fil har en distributionUrl
egenskap som anger en annan Gradle-version som ska laddas ned och användas under bygget.
Justera byggsökvägen
Justera värdet workingDirectory
om gradlew
filen inte finns i roten på lagringsplatsen.
Katalogvärdet ska vara i förhållande till lagringsplatsens rot, till exempel IdentityService
eller $(system.defaultWorkingDirectory)/IdentityService
.
Justera värdet gradleWrapperFile
om gradlew
filen inte finns i roten på lagringsplatsen. Filsökvägsvärdet ska vara i förhållande till lagringsplatsens rot, till exempel IdentityService/gradlew
eller $(system.defaultWorkingDirectory)/IdentityService/gradlew
.
Justera Gradle-uppgifter
Justera uppgiftsvärdet för de uppgifter som Gradle ska köra, till exempel build
eller check
.
Mer information om vanliga Java-plugin-uppgifter för Gradle finns i Gradles dokumentation.
Antillerna
Med Ant build läggs följande kodfragment till i azure-pipelines.yml
filen. Ändra värden, till exempel sökvägen till build.xml
filen för att matcha projektkonfigurationen. Mer information om dessa alternativ finns i Ant-aktiviteten .
steps:
- task: Ant@1
inputs:
workingDirectory: ''
buildFile: 'build.xml'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
Skript
Om du vill skapa med en kommandorad eller ett skript lägger du till något av följande kodfragment i azure-pipelines.yml
filen.
Infogat skript
Steget script:
kör ett infogat skript med bash i Linux och macOS och kommandotolken i Windows. Mer information finns i bash - eller kommandoradsaktiviteten .
steps:
- script: |
echo Starting the build
mvn package
displayName: 'Build with Maven'
Skriptfil
Det här kodfragmentet kör en skriptfil som finns på lagringsplatsen. Mer information finns i Shell-skript, Batch-skript eller PowerShell-uppgift .
steps:
- task: ShellScript@2
inputs:
scriptPath: 'build.sh'
Nästa steg
När du har skapat och testat din app kan du ladda upp byggutdata till Azure Pipelines, skapa och publicera ett Maven-paket eller paketera byggutdata till en .war/jar-fil som ska distribueras till ett webbprogram.
Läs mer om att skapa en CI/CD-pipeline för distributionsmålet: