Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Använd Azure Pipelines för att automatisera kompilering, testning och distribution av Java-program. Den här artikeln beskriver hur du konfigurerar en pipeline för Java-projekt med hjälp av verktyg som Maven, Gradle eller Ant. Du får också lära dig hur du distribuerar din app till Azure-tjänster som App Service, Functions eller Kubernetes.
Använd en pipeline för att:
- Skapa projektet med Maven, Gradle eller Ant.
- Kör tester och verktyg för kodanalys.
- Publicera din app med hjälp av en pipeline och Azure Artifacts.
- Distribuera din app till Azure App Service, Azure Functions eller Azure Kubernetes Service.
Om du arbetar med ett Android-projekt läser du Skapa, testa och distribuera Android-appar.
Förutsättningar
| Produkt | Krav |
|---|---|
| Azure DevOps | – Ett Azure DevOps-projekt. – En möjlighet att köra pipelines på Microsoft-hanterade agenter. Du kan antingen köpa ett parallellt jobb eller begära en kostnadsfri nivå. – Grundläggande kunskaper om YAML och Azure Pipelines. Mer information finns i Skapa din första pipeline. - Behörigheter: – Om du vill skapa en pipeline: du måste vara i gruppen Deltagare och gruppen måste ha behörigheten Skapa byggpipeline inställd på Tillåt. Medlemmar i gruppen Projektadministratörer kan hantera pipelines. – För att skapa tjänstanslutningar: Du måste ha rollen Administratör eller Skapare för tjänstanslutningar. |
| GitHub (på engelska) | – Ett GitHub-konto . – En GitHub-tjänstanslutning för att auktorisera Azure Pipelines. |
| Blått | En Azure-prenumeration. |
| Produkt | Krav |
|---|---|
| Azure DevOps | – Ett Azure DevOps-projekt. - En lokalt installerad agent. Information om hur du skapar en finns i Lokalt installerade agenter. – Grundläggande kunskaper om YAML och Azure Pipelines. Mer information finns i Skapa din första pipeline. - Behörigheter: – Om du vill skapa en pipeline: du måste vara i gruppen Deltagare och gruppen måste ha behörigheten Skapa byggpipeline inställd på Tillåt. Medlemmar i gruppen Projektadministratörer kan hantera pipelines. – För att skapa tjänstanslutningar: Du måste ha rollen Administratör eller Skapare för tjänstanslutningar. |
| GitHub (på engelska) | – Ett GitHub-konto . – En GitHub-tjänstanslutning för att auktorisera Azure Pipelines. |
| Blått | En Azure-prenumeration. |
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.
Följ stegen i guiden och börja med att 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 för att fortsätta.
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.ymlfil 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.ymlväljer du Spara och kör.Om du vill ävenföra
azure-pipelines.ymlfilen till ditt repo, välj Spara och kör igen.
Välj Jobb för att vara med om 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.ymlfil 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.ymlväljer du Spara och kör.Om du vill ävenföra
azure-pipelines.ymlfilen till ditt repo, välj 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å din lagringsplats som är redo att anpassas! Om du vill göra ändringar i din pipeline väljer du den på sidan Pipelines och sedan Redigeraazure-pipelines.yml filen.
Skapa miljö
Använd Azure Pipelines för att skapa Java-appar utan att konfigurera infrastruktur. Bygg 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. För att kontrollera vilka versioner av Java som är installerade, se Microsoft-värdbaserade agenter.
Välj lämplig bild genom att uppdatera följande kodfragment i azure-pipelines.yml filen.
pool:
vmImage: 'ubuntu-latest' # other options: 'macOS-latest', 'windows-latest'
En fullständig lista över bilder finns på Microsoft-värdbaserade agenter.
Som ett alternativ till Microsoft-värdbaserade agenter konfigurerar du lokalt installerade agenter med Java installerat. Använd lokalt installerade agenter för att spara tid om du har en stor lagringsplats eller köra inkrementella versioner.
Versioner körs på en lokalt installerad agent. Se till att Java och de verktyg som krävs för den valda byggmetoden är installerade på agentens värd.
Du kan välja din agentpool och agentfunktionerna i avsnitten Agentpool och Agentspecifikation på fliken Alternativ i pipelineredigeraren.
Ange till exempel agentpoolen och en agent med Maven-funktionen genom att lägga 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
För en Maven-version lägger du till följande uppgifter 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. Till exempel, om du använder Spring Boot-testförrådet, är din sökväg complete/pom.xml.
Anpassa byggsökvägen
Ange värdet mavenPomFile om pom.xml filen inte finns i roten på lagringsplatsen. Filsökvägsvärdet måste vara relativt lagringsplatsens rot, 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
För en Gradle-version lägger du till följande uppgift i azure-pipelines.yml filen. Mer information om de här alternativen finns i Gradle-uppgiften .
steps:
- task: Gradle@3
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: 'default'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
tasks: 'build'
Gradle-omslutning
Kontrollera att gradlew filen finns på lagringsplatsen. Om den inte finns, generera den genom att köra gradle wrapper 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
Ange 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 din gradlew-fil inte finns i rotmappen. Värdet för filvägen bör vara relativt till rotmappen i lagringsplatsen, som 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.
Myra
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 exempellagringsplatsen måste du ange en build.xml fil i 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 ett av dessa kodfragment i azure-pipelines.yml filen.
Inline-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 i ditt arkiv. Mer information finns i Shell-skript, Batch-skript eller PowerShell-uppgift .
steps:
- task: ShellScript@2
inputs:
scriptPath: 'build.sh'
Nästa steg
Publicera byggutdata till din pipeline. Paketera och publicera din app i ett Maven-paket eller en .war/jar-fil för att distribuera den till ett webbprogram.
Läs mer om att skapa en CI/CD-pipeline för distributionsmålet: