Skapa Java-appar

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Du kan använda en pipeline för att automatiskt:

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.
  • Å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

  1. Logga in på din Azure DevOps-organisation och gå till projektet.

  2. Gå till Pipelines och välj sedan Ny pipeline eller Skapa pipeline om du skapar den första pipelinen i projektet.

  3. 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.

  4. 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.

  5. När du ser fliken Konfigurera din pipeline väljer du Maven, Gradle eller Ant beroende på hur du vill skapa din kod.

  6. 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.

  7. När du är klar med redigeringen azure-pipelines.ymlväljer du Spara och kör.

  8. 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.

  1. Gå till samlingen och välj ditt projekt.

  2. Välj Pipelines och välj sedan Ny pipeline eller Skapa pipeline om du skapar den första pipelinen i projektet.

  3. Utför stegen i guiden genom att först välja GitHub Enterprise Server som plats för källkoden.

  4. Använd en befintlig GitHub-tjänstanslutning eller skapa en ny.

    Så här skapar du en tjänstanslutning:

    1. Välj Anslut till GitHub Enterprise Server.
    2. Ange din GitHub Enterprise Server-URL.
    3. 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.
  5. 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.

  6. När du ser fliken Konfigurera din pipeline väljer du Maven, Gradle eller Ant beroende på hur du vill skapa din kod.

  7. 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.

  8. När du är klar med redigeringen azure-pipelines.ymlväljer du Spara och kör.

  9. 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 Agentspecifikationfliken 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.xmldin 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: