Veröffentlichen von Maven-Artefakten mit Azure Pipelines
Mithilfe von Azure Pipelines können Sie Ihre Maven-Pakete in Azure Artifacts-Feeds, öffentlichen Registrierungen oder als Pipelineartefakt veröffentlichen.
Einrichten des Projekts
Fügen Sie den Abschnitten
repositories
unddistributionManagement
in Ihrer pom.xml-Datei den folgenden Codeschnipsel hinzu. Ersetzen Sie die Platzhalter durch den Namen Ihrer Organisation, den Projektnamen und den Feednamen.<repository> <id>MavenDemo</id> <url>https://pkgs.dev.azure.com/ORGANIZATION-NAME/PROJECT-NAME/_packaging/FEED-NAME/maven/v1</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository>
Konfigurieren Sie Ihre settings.xml-Datei wie folgt. Ersetzen Sie die Platzhalter durch den Namen Ihrer Organisation, den Projektnamen und Ihr persönliches Zugriffstoken.
<server> <id>PROJECT-NAME</id> <username>ORGANIZATION-NAME</username> <password>PERSONAL-ACCESS-TOKEN</password> </server>
Erstellen Sie ein persönliches Zugriffstoken mit dem Verpacken von Lese- und Schreibbereichen und fügen Sie es in das
password
-Tag in Ihrer settings.xml-Datei ein.
Erstellen des Codes
In diesem Beispiel verwenden wir die Maven-Aufgabe, um das Projekt mit Azure Pipelines zu erstellen.
- task: Maven@3
inputs:
mavenPomFile: 'my-app/pom.xml' // Path to your pom file
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/surefire-reports/TEST-*.xml'
goals: 'package'
Veröffentlichen von Paketen in Ihrer Pipeline
Im folgenden Beispiel wird gezeigt, wie Sie Ihr Artefakt veröffentlichen, um es in Ihrer Pipeline abzulegen. Verwenden Sie die Aufgabe Dateien kopieren, um Ihre Pakete in einen Zielordner zu kopieren, und verwenden Sie anschließend Buildartefakte veröffentlichen, um Ihre Buildartefakte in Azure Pipelines zu veröffentlichen.
- task: CopyFiles@2
inputs:
Contents: '**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
Veröffentlichen von Paketen in Ihrem Feed
Um Ihr Paket in einem Azure Artifacts-Feed zu veröffentlichen, verwenden Sie die Maven-Aufgabe, um Ihr Artefakt in Ihrem Feed bereitzustellen.
- task: Maven@3
inputs:
mavenPomFile: 'my-app/pom.xml'
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
mavenAuthenticateFeed: true
publishJUnitResults: false
testResultsFiles: '**/surefire-reports/TEST-*.xml'
goals: 'deploy'
Fragen und Antworten
F: Wie authentifiziert man sich mit MavenAuthenticate?
A: Sie können die MavenAuthenticate-Aufgabe verwenden, um sich innerhalb und außerhalb Ihrer Organisation mit Maven-Feeds zu authentifizieren. Weitere Informationen finden Sie in den folgenden Beispielen:
- Authentifizieren mit Maven-Feeds in Ihrer Organisation
- Authentifizieren mit Maven-Feeds außerhalb Ihrer Organisation