Skapa Java-appar
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Du kan använda en pipeline för att automatiskt:
- Skapa projektet med Maven, Gradle eller Ant.
- Kör tester och verktyg för kodanalys.
- Publicera din app till din pipeline och Azure Artifacts.
- Distribuera din app 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
Om du vill köra följande exempel måste du ha:
- Ett GitHub-konto där du kan skapa en lagringsplats. Skapa en kostnadsfritt.
- En Azure DevOps-organisation. Skapa en kostnadsfritt.
- Ett Azure DevOps-projekt. Om du inte har något skapar du ett projekt nu.
- Ett GitHub-konto där du kan skapa en lagringsplats. Skapa en kostnadsfritt.
- Åtkomst till en Azure DevOps Server-samling.
- Möjligheten att köra Azure Pipelines på lokala Azure DevOps-agenter.
- Ett Azure DevOps-projekt. Om du inte har något skapar du ett projekt nu.
Skapa en GitHub-lagringsplats
Förgrena följande lagringsplats till ditt GitHub-konto:
https://github.com/MicrosoftDocs/pipelines-java
Skapa en pipeline
Logga in på din Azure DevOps-organisation och gå till projektet.
Gå till Pipelines och välj sedan Ny pipeline eller Skapa pipeline om du skapar den första pipelinen i projektet.
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 och installera.
När du ser fliken Konfigurera din pipeline väljer du Maven, Gradle eller Ant beroende på hur du vill skapa din kod.
En
azure-pipelines.yml
fil som innehåller pipelinedefinitionen skapas på lagringsplatsen och öppnas i YAML-redigeraren. Du kan anpassa pipelinen genom att lägga till fler uppgifter eller ändra befintliga uppgifter. Mer information om bygguppgifterna finns i Skapa din kod.När du är klar med redigeringen
azure-pipelines.yml
väljer du Spara och kör.Om du vill checka in
azure-pipelines.yml
filen på lagringsplatsen väljer du Spara och kör igen.
Välj Jobb för att se hur din pipeline fungerar.
Gå till samlingen och välj ditt projekt.
Välj Pipelines och välj sedan Ny pipeline eller Skapa pipeline om du skapar den första pipelinen i projektet.
Utför stegen i guiden genom att först välja GitHub Enterprise Server som plats för källkoden.
Använd en befintlig GitHub-tjänstanslutning eller skapa en ny.
Så här skapar du en tjänstanslutning:
- Välj Anslut till GitHub Enterprise Server.
- Ange din GitHub Enterprise Server-URL.
- Ange din personliga åtkomsttoken för GitHub Enterprise Server. Om du inte har en personlig åtkomsttoken kan du skapa en i ditt GitHub Enterprise Server-konto. Mer information finns i Skapa en personlig åtkomsttoken.
Välj din lagringsplats. Du kan omdirigeras till GitHub för att installera Azure Pipelines-appen. I så fall väljer du Godkänn och installera.
När du ser fliken Konfigurera din pipeline väljer du Maven, Gradle eller Ant beroende på hur du vill skapa din kod.
En
azure-pipelines-yml
fil som innehåller pipelinedefinitionen skapas på lagringsplatsen och öppnas i YAML-redigeraren. Du kan anpassa pipelinen genom att lägga till fler uppgifter eller ändra befintliga uppgifter. Mer information om bygguppgifterna finns i Skapa din kod.När du är klar med redigeringen
azure-pipelines.yml
väljer du Spara och kör.Om du vill checka in
azure-pipelines.yml
filen på lagringsplatsen väljer du Spara och kör igen.
Du kan välja Jobb för att se hur din pipeline fungerar.
Nu har du en fungerande YAML-pipeline (azure-pipelines.yml
) på lagringsplatsen som är redo att anpassas! Om du vill göra ändringar i din pipeline väljer du den på sidan Pipelines och sedan Redigera azure-pipelines.yml
filen.
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.
Om du vill välja lämplig avbildning uppdaterar du följande kodfragment i azure-pipelines.yml
filen.
pool:
vmImage: 'ubuntu-latest' # other options: 'macOS-latest', 'windows-latest'
En fullständig lista över avbildningar finns i Microsoft-värdbaserade agenter .
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 kör inkrementella versioner.
Dina versioner körs på en lokalt installerad agent. Kontrollera att du har Java och de verktyg som krävs för att skapa med den valda metoden installerad på agentens värd.
Du kan välja din agentpool och agentfunktionerna i avsnitten Agentpool och Agentspecifikation på fliken Alternativ i pipelineredigeraren.
Om du till exempel vill ange agentpoolen och en agent med Maven-funktionen lägger du till följande kodfragment i azure-pipelines.yml
filen.
pool:
name: MyPool
demands: maven
Skapa din kod
Du kan skapa din Java-app med Maven, Gradle, Ant eller ett skript. I följande avsnitt visas hur du lägger till ett byggsteg i pipelinen för varje metod.
Maven
Med din Maven-version läggs följande uppgifter till i azure-pipelines.yml
filen. Ersätt värdena för att matcha projektet. Mer information om aktivitetsalternativen finns i Maven-aktiviteten.
steps:
- task: Maven@4
inputs:
mavenPomFile: 'pom.xml'
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: 'default'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
goals: 'package'
För Spring Boot kan du även 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 är complete/pom.xml
din sökväg .
Anpassa byggsökvägen
Justera värdet mavenPomFile
om pom.xml
filen inte finns i roten på lagringsplatsen. Filsökvägsvärdet ska vara relativt roten på lagringsplatsen, till exempel IdentityService/pom.xml
eller $(system.defaultWorkingDirectory)/IdentityService/pom.xml
.
Anpassa Maven-mål
Ange målvärdet till en utrymmesavgrä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 uppgift till i azure-pipelines.yml
filen. Mer information om de här alternativen finns i Gradle-uppgiften .
steps:
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: 'default'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
tasks: 'build'
Gradle-omslutning
Du måste ha en gradlew
fil på lagringsplatsen. Om du inte har en kan du generera den genom att köra gradle wrapper
den i projektets rotkatalog. Information om hur du skapar en Gradle-omslutning finns i Gradle.
Välj version av Gradle
Den version av Gradle som är installerad på agentdatorn används såvida 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 relativt roten på lagringsplatsen, till exempel IdentityService/gradlew
eller $(system.defaultWorkingDirectory)/IdentityService/gradlew
.
Justera Gradle-uppgifter
Justera aktivitetsvä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.
Ant
Med Ant build lägger du till följande uppgift i azure-pipelines.yml
filen. Ändra värden, till exempel sökvägen till build.xml
filen, så att de matchar projektkonfigurationen. Mer information om de här alternativen finns i Ant-aktiviteten . Om du använder lagringsplatsen för exempel måste du ange en build.xml
fil på lagringsplatsen.
steps:
- task: Ant@1
inputs:
workingDirectory: ''
buildFile: 'build.xml'
javaHomeOption: 'JDKVersion'
jdkVersionOption: 'default'
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
Den här uppgiften 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
Du kan publicera byggutdata till din pipeline. Du kan paketera och publicera din app i ett Maven-paket eller en .war/jar-fil som ska distribueras till ett webbprogram.
Läs mer om att skapa en CI/CD-pipeline för distributionsmålet: