Erstellen von Java-Apps

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

Mit einer Pipeline können Sie automatisch Folgendes tun:

Wenn Sie an einem Android-Projekt arbeiten, finden Sie weitere Informationen unter Erstellen, Testen und Bereitstellen von Android-Apps.

Voraussetzungen

Um das folgende Beispiel auszuführen, müssen Sie Folgendes haben:

Erstellen eines GitHub-Repositorys

Verzweigen Sie das folgende Repository in Ihr GitHub-Konto:

https://github.com/MicrosoftDocs/pipelines-java

Erstellen einer Pipeline

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und wechseln Sie zu Ihrem Projekt.

  2. Wechseln Sie zu Pipelines und wählen Sie dann Neue Pipeline oder Pipeline erstellen aus, wenn Sie in diesem Projekt die erste Pipeline erstellen.

  3. Führen Sie die Schritte des Assistenten aus. Dabei wählen Sie zuerst GitHub als Speicherort Ihres Quellcodes aus. Möglicherweise werden Sie zu GitHub weitergeleitet, um sich anzumelden. Geben Sie in diesem Fall Ihre Anmeldeinformationen für GitHub ein.

  4. Wählen Sie Ihr Repository aus. Sie werden möglicherweise zu GitHub weitergeleitet, um die Azure Pipelines-App zu installieren. Wählen Sie in diesem Fall Genehmigen & installieren aus.

  5. Wenn die Registerkarte Ihre Pipeline konfigurieren angezeigt wird, wählen Sie Maven oder Gradle oder Ant aus, je nachdem, wie Sie Ihren Code erstellen möchten.

  6. Eine azure-pipelines.yml Datei, die Ihre Pipelinedefinition enthält, wird in Ihrem Repo erstellt und im YAML-Editor geöffnet. Sie können die Pipeline anpassen, indem Sie weitere Aufgaben hinzufügen oder die vorhandenen Aufgaben ändern. Weitere Informationen zu den Build-Aufgaben finden Sie unter Erstellen ihres Codes.

  7. Wenn Sie mit der Bearbeitung von azure-pipelines.ymlfertig sind, wählen Sie Speichern und ausführen.

  8. Um die azure-pipelines.yml Datei in Ihr Repo zu übernehmen, wählen Sie Speichern aus, und führen Sie den Vorgang erneut aus .

Wählen Sie Auftrag aus, um Ihre Pipeline in Aktion zu überwachen.

  1. Gehen Sie zu Ihrer Sammlung und wählen Sie Ihr Projekt aus.

  2. Wählen Sie Pipelines und wählen Sie dann Neue Pipeline oder Pipeline erstellen aus, wenn Sie in diesem Projekt die erste Pipeline erstellen.

  3. Führen Sie die Schritte des Assistenten aus, indem Sie zunächst GitHub Enterprise Server als Speicherort Ihres Quellcodes auswählen.​

  4. Verwenden Sie eine vorhandene GitHub-Dienstverbindung, oder erstellen Sie eine neue.

    So erstellen Sie eine Dienstverbindung:

    1. Wählen Sie Verbindung zu GitHub Enterprise Server herstellen aus.
    2. Geben Sie Ihre GitHub Enterprise Server-URL ein.
    3. Geben Sie Ihr persönliches GitHub Enterprise Server-Zugriffstoken ein. Wenn Sie kein persönliches Zugriffstoken besitzen, können Sie ein Token in Ihrem GitHub Enterprise Server-Konto erstellen. Weitere Informationen hierzu finden Sie unter Erstellen eines persönlichen Zugriffstokens.
  5. Wählen Sie Ihr Repository aus. Sie werden möglicherweise zu GitHub weitergeleitet, um die Azure Pipelines-App zu installieren. Wählen Sie in diesem Fall Genehmigen & installieren aus.

  6. Wenn die Registerkarte Ihre Pipeline konfigurieren angezeigt wird, wählen Sie Maven oder Gradle oder Ant aus, je nachdem, wie Sie Ihren Code erstellen möchten.

  7. Eine azure-pipelines-yml Datei, die Ihre Pipelinedefinition enthält, wird in Ihrem Repo erstellt und im YAML-Editor geöffnet. Sie können die Pipeline anpassen, indem Sie weitere Aufgaben hinzufügen oder die vorhandenen Aufgaben ändern. Weitere Informationen zu den Build-Aufgaben finden Sie unter Erstellen ihres Codes.

  8. Wenn Sie mit der Bearbeitung von azure-pipelines.ymlfertig sind, wählen Sie Speichern und ausführen.

  9. Um die azure-pipelines.yml Datei in Ihr Repo zu übernehmen, wählen Sie Speichern aus, und führen Sie den Vorgang erneut aus .

Sie können Auftrag auswählen, um Ihre Pipeline in Aktion zu überwachen.

Sie verfügen nun über eine funktionierende YAML-Pipeline (azure-pipelines.yml) in Ihrem Repository, die Sie anpassen können. Um Änderungen an Ihrer Pipeline vorzunehmen, wählen Sie sie auf der Seite Pipelines und bearbeiten Sie dann die azure-pipelines.yml Datei.

Buildumgebung

Sie können Azure Pipelines verwenden, um Java-Apps zu erstellen, ohne eine eigene Infrastruktur einrichten zu müssen. Die Erstellung kann in Windows-, Linux- oder macOS-Images erfolgen. Auf den von Microsoft gehosteten Agents in Azure Pipelines sind moderne JDKs und andere Tools für Java vorinstalliert. Informationen zu den installierten Java-Versionen finden Sie unter Von Microsoft gehostete Agents.

Um das entsprechende Bild auszuwählen, aktualisieren Sie das folgende Snippet in Ihrer azure-pipelines.yml-Datei.

pool:
  vmImage: 'ubuntu-latest' # other options: 'macOS-latest', 'windows-latest'

Eine vollständige Liste der Images finden Sie unter Von Microsoft gehostete Agents.

Alternativ zur Verwendung der von Microsoft gehosteten Agents können Sie selbstgehostete Agents einrichten, auf denen Java installiert ist. Sie können auch selbst gehostete Agenten verwenden, um mehr Zeit zu sparen, wenn Sie ein großes Repo haben oder inkrementelle Builds ausführen.

Ihre Builds werden auf einem selbstgehosteten Agent ausgeführt. Stellen Sie sicher, dass auf dem Host des Agenten Java und die zum Erstellen mit der von Ihnen gewählten Methode erforderlichen Tools installiert sind.

Sie können Ihren Agentenpool und die Agentenfunktionen in den Abschnitten Agentenpool und Agentenspezifikation der Registerkarte Optionen im Pipeline-Editor auswählen.

Um beispielsweise den Agentenpool und einen Agenten mit der Maven-Funktion anzugeben, fügen Sie den folgenden Codeausschnitt zu Ihrer azure-pipelines.yml-Datei hinzu .

pool: 
  name: MyPool
  demands: maven

Erstellen des Codes

Sie können Ihre Java-App mit Maven, Gradle, Ant oder einem Skript erstellen. In den folgenden Abschnitten wird gezeigt, wie Sie Ihrer Pipeline für jede Methode einen Buildschritt hinzufügen.

Maven

Mit Ihrem Maven-Build werden die folgenden Aufgaben zu Ihrer azure-pipelines.yml-Datei hinzugefügt. Ersetzen Sie die Werte entsprechend Ihrem Projekt. Weitere Informationen zu den Aufgabenoptionen finden Sie in der Maven-Aufgabe.

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 können Sie die Maven-Aufgabe ebenfalls verwenden. Vergewissern Sie sich, dass Ihr mavenPomFile-Wert den Pfad zu Ihrer pom.xml-Datei widerspiegelt. Wenn Sie beispielsweise das Spring Boot-Beispielrepository verwenden, lautet Ihr Pfad complete/pom.xml.

Anpassen des Buildpfads

Passen Sie den mavenPomFile-Wert an, wenn sich Ihre pom.xml-Datei nicht im Stammverzeichnis des Repositorys befindet. Der Dateipfadwert sollte relativ zum Stamm des Repositorys sein, z. B. IdentityService/pom.xml oder $(system.defaultWorkingDirectory)/IdentityService/pom.xml.

Anpassen von Maven-Zielen

Legen Sie den Wert von Ziele auf eine durch Leerzeichen getrennte Liste von Zielen fest, die von Maven ausgeführt werden soll, z. B clean package. Ausführliche Informationen zu gängigen Java-Phasen und -Zielen finden Sie in der Maven-Dokumentation von Apache.

Gradle

Mit dem Gradle-Build wird die folgende Aufgabe zu Ihrer azure-pipelines.yml-Datei hinzugefügt. Weitere Informationen zu diesen Optionen finden Sie in der Gradle-Aufgabe.

steps:
- task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: 'default'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'build'

Gradle-Wrapper

Sie müssen über eine gradlew-Datei in Ihrem Repo verfügen. Wenn Sie noch keines haben, können Sie es generieren, indem Sie gradle wrapper im Stammverzeichnis Ihres Projekts ausführen. Informationen zum Erstellen eines Gradle-Wrappers finden Sie unter Gradle.

Wählen Sie die Version von Gradle aus.

Die auf dem Agent-Computer installierte Version von Gradle wird verwendet, es sei denn, die gradle/wrapper/gradle-wrapper.properties-Datei Ihres Repositorys verfügt über eine distributionUrl-Eigenschaft, die eine andere Gradle-Version angibt, die während des Buildprozesses heruntergeladen und verwendet werden soll.

Anpassen des Buildpfads

Passen Sie den workingDirectory-Wert an, wenn sich Ihre gradlew-Datei nicht im Stammverzeichnis des Repositorys befindet. Der Verzeichniswert sollte relativ zum Stamm des Repositorys sein, z. B. IdentityService oder $(system.defaultWorkingDirectory)/IdentityService.

Passen Sie den gradleWrapperFile-Wert an, wenn sich Ihre gradlew-Datei nicht im Stammverzeichnis des Repositorys befindet. Der Dateipfadwert sollte relativ zum Stamm des Repositorys sein, z. B. IdentityService/gradlew oder $(system.defaultWorkingDirectory)/IdentityService/gradlew.

Anpassen von Gradle-Aufgaben

Passen Sie den Aufgabenwert für die Aufgaben an, die Gradle ausführen soll, z. B. build oder check. Weitere Informationen zu gängigen Java-Plug-In-Aufgaben für Gradle finden Sie in der Dokumentation von Gradle.

Ant

Fügen Sie mit Ant build die folgende Aufgabe zu Ihrer azure-pipelines.yml-Datei hinzu. Ändern Sie Werte, z. B. den Pfad zu Ihrer build.xml-Datei, sodass sie der Projektkonfiguration entsprechen. Weitere Informationen zu diesen Optionen finden Sie in der Ant-Aufgabe. Wenn Sie das Beispiel-Repo verwenden, müssen Sie eine build.xml-Datei in Ihrem Repo angeben.

steps:
- task: Ant@1
  inputs:
    workingDirectory: ''
    buildFile: 'build.xml'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: 'default'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'

Skript

Wenn die Erstellung mit einer Befehlszeile oder einem Skript erfolgen soll, fügen Sie Ihrer azure-pipelines.yml-Datei eines der folgenden Codeschnipsel hinzu.

Inlineskript

Beim script:-Schritt wird ein Inlineskript mit Bash unter Linux und macOS und der Eingabeaufforderung unter Windows ausgeführt. Ausführliche Informationen finden Sie in der Bash- oder Befehlszeilen-Aufgabe.

steps:
- script: |
    echo Starting the build
    mvn package
  displayName: 'Build with Maven'

Skriptdatei

Diese Aufgabe führt eine Skriptdatei aus, die sich in Ihrem Repo befindet. Ausführliche Informationen finden Sie in der Shellskript-, Batchskript- oder PowerShell-Aufgabe.

steps:
- task: ShellScript@2
  inputs:
    scriptPath: 'build.sh'

Nächste Schritte

Sie können Die Buildausgabe in Ihrer Pipeline veröffentlichen. Sie können Ihre App in einem Maven-Paket oder einer WAR/JAR-Datei packen und veröffentlichen, die in einer Webanwendung bereitgestellt werden soll.

Weitere Informationen zum Erstellen einer CI/CD-Pipeline für Ihr Bereitstellungsziel: