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
Fork the following repo at GitHub:
https://github.com/MicrosoftDocs/pipelines-java
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und wechseln Sie zu Ihrem Projekt.
Navigieren Sie zu Pipelines, und wählen Sie Neue Pipeline aus.
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.
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.
Wenn die Registerkarte "Konfigurieren " angezeigt wird, wählen Sie Maven oder Gradle oder Ant je nachdem, wie Sie Ihren Code erstellen möchten.
Wenn Sie so weit sind, wählen Sie Speichern und ausführen aus.
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!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.
Importieren Sie das folgende Repo in Ihr Git-Repo in Azure DevOps Server 2019:
https://github.com/MicrosoftDocs/pipelines-java
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!
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.
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.xml
Ihr 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.
Erfahren Sie mehr über das Erstellen einer CI/CD-Pipeline für Ihr Bereitstellungsziel: