Erstellen von Java-Apps

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

Hinweis

In den folgenden Anleitungen werden YAML-basierte Pipelines verwendet, die in Azure-Pipelines verfügbar sind. Verwenden Sie Aufgaben, die den in den folgenden YAML verwendeten Aufgaben entsprechen.

Sie können eine Pipeline verwenden, um Ihre Java-Projekte automatisch zu erstellen und zu testen. Nachdem Sie Ihre App erstellt und getestet haben, können Sie Ihre App auf Azure App Service, Azure Functions oder Azure Kubernetes Service bereitstellen. Wenn Sie an einem Android-Projekt arbeiten, lesen Sie "Build", "Testen" und "Bereitstellen von Android-Apps".

Voraussetzungen

Sie müssen über die folgenden Elemente in Azure DevOps verfügen:

  • Ein Projekt. Wenn Sie keines haben, erstellen Sie jetzt ein Projekt .
  • Eine Pipeline. Wenn Sie keines haben, erstellen Sie jetzt eine Pipeline .

Erstellen einer Pipeline

  1. Fork the following repo at GitHub:

    https://github.com/MicrosoftDocs/pipelines-java
    
  2. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und wechseln Sie zu Ihrem Projekt.

  3. Navigieren Sie zu Pipelines, und wählen Sie Neue Pipeline aus.

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

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

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

  7. Wenn Sie so weit sind, wählen Sie Speichern und ausführen aus.

  8. Setzen Sie eine neue Azure-Pipelines.yml-Datei in Ihr Repo ein. Wählen Sie erneut Speichern und ausführen aus.

    Wenn Sie Ihre Pipeline in Aktion beobachten möchten, wählen Sie den Buildauftrag aus.

    Sie haben gerade eine Pipeline erstellt und ausgeführt, da Ihr Code für die Maven-Vorlage , die wir automatisch für Sie erstellt haben, eine gute Übereinstimmung darstellt.

    Sie verfügen jetzt über eine funktionierende YAML-Pipeline (azure-pipelines.yml) in Ihrem Repo, die für Sie bereit ist, anzupassen!

  9. Wenn Sie bereit sind, Änderungen an Ihrer Pipeline vorzunehmen, wählen Sie sie auf der Seite "Pipelines " aus, und bearbeiten Sie dann die azure-pipelines.yml Datei.

  1. Importieren Sie das folgende Repo in Ihr Git-Repo in Azure DevOps Server 2019:

    https://github.com/MicrosoftDocs/pipelines-java
    
  2. Speichern Sie die Pipeline und Warteschlange eines Builds. Wenn die Build #nnnnnnnn.n has been queued Nachricht angezeigt wird, wählen Sie den Nummerlink aus, um Ihre Pipeline in Aktion anzuzeigen. Sie verfügen jetzt über eine arbeitsfähige Pipeline, die für Sie bereit ist, jederzeit anzupassen!

  1. Importieren Sie das folgende Repo in Ihr Git-Repo in TFS:

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

    Diese Vorlage fügt automatisch die Aufgaben hinzu, die Sie zum Erstellen des Codes im Beispiel-Repo benötigen.

  2. Speichern Sie die Pipeline und Warteschlange eines Builds. Wenn die Build #nnnnnnnn.n has been queued Nachricht angezeigt wird, wählen Sie den Nummerlink aus, um Ihre Pipeline in Aktion anzuzeigen. Sie verfügen jetzt über eine arbeitsfähige Pipeline, die für Sie bereit ist, jederzeit anzupassen!

Lesen Sie weiter, um einige der gängigeren Möglichkeiten zu erfahren, wie Sie Ihre Pipeline anpassen können.

Buildumgebung

Sie können Azure-Pipelines verwenden, um Java-Apps zu erstellen, ohne eine eigene Infrastruktur einzurichten. Sie können auf Windows-, Linux- oder macOS-Bildern erstellen. Die von Microsoft gehosteten Agents in Azure-Pipelines verfügen über moderne JDKs und andere Tools für java pre-installation. Um zu wissen, welche Versionen von Java installiert sind, finden Sie unter Microsoft gehostete Agents.

Aktualisieren Sie den folgenden Codeausschnitt in Ihrer azure-pipelines.yml Datei, um das entsprechende Bild auszuwählen.

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

Weitere Informationen finden Sie unter microsoft gehosteten Agents für eine vollständige Liste von Bildern.

Alternativ zum Verwenden von Microsoft gehosteten Agents können Sie selbst gehostete Agents mit Java einrichten. Sie können auch selbst gehostete Agents verwenden, um mehr Zeit zu sparen, wenn Sie über ein großes Repo verfügen oder inkrementelle Builds ausführen können.

Ihre Builds werden auf einem selbst gehosteten Agent ausgeführt. Stellen Sie sicher, dass Java auf dem Agent installiert ist.

Erstellen des Codes

Maven

Mit Ihrem Maven-Build wird der folgende Codeausschnitt ihrer azure-pipelines.yml Datei hinzugefügt. Sie können Werte ändern, z. B. den Pfad zu Ihrer pom.xml Datei, um ihrer Projektkonfiguration zu entsprechen. Weitere Informationen zu diesen Optionen finden Sie in der Maven-Aufgabe .

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 können Sie auch die Maven-Aufgabe verwenden. Stellen Sie sicher, dass Ihr mavenPomFile Wert den Pfad zu Ihrer pom.xml Datei widerspiegelt. Wenn Sie z. B. das Spring Boot-Beispiel-Repo verwenden, lautet complete/pom.xmlIhr Pfad .

Anpassen des Buildpfads

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

Anpassen von Maven-Zielen

Legen Sie den Zielwert auf eine leergetrennte Liste von Zielen fest, die Maven ausführen soll, z clean package. B. .

Details zu allgemeinen Java-Phasen und Zielen finden Sie in der Maven-Dokumentation von Apache.

Gradle

Mit dem Gradle-Build wird der folgende Codeausschnitt 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: '1.8'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'build'

Wählen Sie die Version von Gradle aus.

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

Anpassen des Buildpfads

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

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

Anpassen von Gradle-Aufgaben

Passen Sie den Aufgabenwert für die Aufgaben an, die Gradle ausführen soll, z build . B. oder check.

Weitere Informationen zu allgemeinen Java-Plug-In-Aufgaben für Gradle finden Sie in der Dokumentation von Gradle.

Ant

Mit ant build wird der folgende Codeausschnitt ihrer azure-pipelines.yml Datei hinzugefügt. Ändern Sie Werte, z. B. den Pfad zu Ihrer Datei, um ihrer build.xml Projektkonfiguration zu entsprechen. Weitere Informationen zu diesen Optionen finden Sie unter der Ant-Aufgabe .

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

Skript

Um mit einer Befehlszeile oder einem Skript zu erstellen, fügen Sie eine der folgenden Codeausschnitte zu Ihrer azure-pipelines.yml Datei hinzu.

Inlineskript

Der script: Schritt führt ein Inlineskript mit Bash unter Linux und macOS und Eingabeaufforderung unter Windows aus. Ausführliche Informationen finden Sie in der Bash - oder Befehlszeilenaufgabe .

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

Skriptdatei

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

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

Nächste Schritte

Nachdem Sie Ihre App erstellt und getestet haben, können Sie die Buildausgabe in Azure-Pipelines hochladen, ein Maven-Paket erstellen und veröffentlichen oder die Buildausgabe in eine .war/jar-Datei verpacken, die in einer Webanwendung bereitgestellt werden soll.