[JAVA] CI für Maven-Projekt in Azure-Pipelines

In der Fortsetzung des folgenden Artikels werde ich diesmal versuchen, Azure-Pipelines zu verwenden. https://qiita.com/kasa_le/items/b152f91a61315a2b12b2

Azure Pipelines Es ist unnötig zu erwähnen, dass es sich um das CI handelt, das in Azure DevOps im Microsoft-Clouddienst Azure enthalten ist. https://azure.microsoft.com/ja-jp/services/devops/

Charakteristisch

Sie können nicht nur eine Verbindung zu Azure Repos (Azure Git-Repository-Dienst) herstellen, sondern auch zu Github und Allzweck-Git (*). Natürlich ist die Build-Umgebung für .NET- und C # -Projekte erheblich, und Windows-Entwickler haben tatsächlich die Wahl zwischen AppVeyor und diesem. Bis vor einiger Zeit gab es jedoch nur AppVeyor, daher wäre es schön, eine Wahl zu haben. Es ist auch richtig, dass die Integration mit Visual Studio und Visual Studio Code sowie die Erweiterungen erheblich sind.

Gebühr

Nur mit Azure Pipelines können bis zu 5 Benutzer 1 parallelen Job für bis zu 1.800 Minuten pro Monat kostenlos verwenden. Bei Selbsthosting gibt es kein monatliches Nutzungslimit (1 paralleler Job). Wir verwenden Azure-Artefakte, um Artefakte hochzuladen, die bis zu 2 GB kostenlos verwendet werden können.

Weitere Details finden Sie hier. https://azure.microsoft.com/ja-jp/pricing/details/devops/azure-devops-services/

Performance

Immerhin ist es Microsoft (Schweiß)

Es ist mir egal, aber der E-Learning-Kurs ist sehr anstrengend, im Story-Format zu lesen (bitteres Lächeln) Nur Englisch wird vorbereitet, aber selbst wenn es auf Japanisch ist, ist es seltsam, also wage ich es vielleicht nicht, eine Übersetzung vorzubereiten ^^;

Aufbau

Es gibt zwei Methoden: Die eine ist die Verwendung des klassischen Editors und die andere das Schreiben einer "yml" -Datei. Für grundlegende Maven-Builds und -Tests können Sie ** Maven ** in der Vorlage ausgewählt lassen. Das Folgende ist die Standardvorlageneinstellung im YAML-Modus. JerseySample konnte mit dieser Einstellung arbeiten.

azure-pipelines.yml


# Maven
# Build your Java project and run tests with Apache Maven.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/java

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.11'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/surefire-reports/TEST-*.xml'
    goals: 'package'

Sie können die Testergebnisse auf der Pipeline-Seite überprüfen.

azule-pipelines-test-summary.PNG

Es ist unangenehm, dass Version 11 durch Angabe von "jdkVersionOption" (Schweiß) als "1.11" angegeben werden muss.

OpenJDK verwendet wie Github Azul Zulu. (Azul Zulu wird grundsätzlich bezahlt, kann aber kostenlos mit Azure-Pipelines verwendet werden. Was? Github-Aktionen?) https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md

Aufgrund verschiedener Umstände ist es notwendig, mit AdoptOpenJDK erstellen zu können. Daher habe ich geprüft, ob es enthalten sein kann, aber es gab eine Person, die eine praktische Erweiterung veröffentlicht hat. https://marketplace.visualstudio.com/items?itemName=hanabi1224.adopt-openjdk-installer

atopdopenjdk_marketplase.png

Dies kann im ** Classic Editor ** verwendet werden. Der Classic Editor verfügt auf der ersten Seite über einen kleinen Link namens Classic Editor anstelle von YAML, wenn Sie eine Pipeline erstellen. Sie können ihn also verwenden, indem Sie darauf klicken.

azule-pipelines-classic-editor.PNG

Sie können auch auf das "yml" verweisen, nachdem Sie es mit dem Classic Editor erstellt haben.

azule-pipelines-view-yaml.PNG

Der klassische Editor ist jedoch veraltet, sodass Sie ihn jederzeit sicher im Menü belassen können.

Impressionen

Die Bedienung ist relativ einfach, aber die Menüstruktur ist gewöhnungsbedürftig.

Ich muss einige Tutorials auf Englisch Lernpfade und die folgenden Artikel machen. Es kann schwierig sein zu verstehen, wo und was ist. https://docs.microsoft.com/ja-jp/azure/devops/pipelines/create-first-pipeline?view=azure-devops&tabs=java%2Cyaml%2Cbrowser%2Ctfs-2018-2

Persönlich hatte ich das Gefühl, dass die Testergebnisse am einfachsten zu sehen waren. Es ist auch schön, Schaltflächen zu haben, die leicht zu verstehen sind und manuell ausgeführt werden können.

Es ist gut, dass es einfach scheint, sich in Slack zu integrieren. Einzelpersonen und kleine Teams können eine kostenlose Stufe erhalten. Wenn Sie bereits ein Abonnement haben, ist dies einfach zu bedienen.

Übrigens war Azure Pipelines im Vergleich zu anderen CI-Diensten vom ersten Setup bis zum Erstellen, Testen und Anzeigen der Testergebnisse am schnellsten.

** Nachtrag ** Nach dem Einschalten von CI wurde auf Github ein PR erstellt und der Seite Prüfen eine Anzeige hinzugefügt.

azure_pipelines_github_pr.png

Dies scheint praktisch zu sein, aber ich mag es nicht, jedes Mal PR zu erstellen, deshalb muss ich etwas recherchieren ...

Recommended Posts

CI für Maven-Projekt in Azure-Pipelines
CI für Maven-Projekt auf AppVeyor
CI für Maven-Projekt bei CircleCI
CI für Maven-Projekt bei Github Actions
Führen Sie JUnit und Spock in einem Maven-Projekt aus
CI / CD-Übung für Anfänger - Teil 3 - Vorbereitung für das Entwicklungsprojekt
Azure funktioniert in Java
Abhängigkeiten in Maven neu laden
Erstellen eines Maven-Webprojekts
Erstellen Sie in Eclipse eine Basis für Ihr Stapelverarbeitungsprojekt.