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

  1. Förgrena följande lagringsplats på GitHub:

    https://github.com/MicrosoftDocs/pipelines-java
    
  2. Logga in på din Azure DevOps-organisation och gå till projektet.

  3. Gå till Pipelines och välj sedan Ny pipeline.

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

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

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

  7. När du är klar väljer du Spara och kör.

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

  9. När du är redo att göra ändringar i pipelinen väljer du den på sidan Pipelinesoch redigerar sedan azure-pipelines.yml filen.

  1. Importera följande lagringsplats till din Git-lagringsplats i Azure DevOps Server 2019:

    https://github.com/MicrosoftDocs/pipelines-java
    
  2. 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!

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

  2. 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.xmlsö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.