Veröffentlichen von Artefakten mit Gradle
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Mit Azure Artifacts können Sie Ihre Abhängigkeiten effizient aus einem einzigen Feed verwalten und verschiedene Arten von Paketen an einem zentralen Ort speichern. Azure Artifacts ermöglicht Es Entwicklern, Pakete aus verschiedenen Quellen zu veröffentlichen und zu nutzen und sie gemäß den Sichtbarkeitseinstellungen des Feeds freizugeben. In diesem Artikel erfahren Sie, wie Sie eine Verbindung mit einem Azure Artifacts-Feed herstellen und Ihre Pakete mit Gradle veröffentlichen.
Voraussetzungen
Erstellen Sie eine Azure DevOps-Organisation und ein Projekt, falls noch nicht geschehen.
Erstellen Sie einen Feed , wenn Sie noch keinen haben.
Laden Sie Gradle herunter, und installieren Sie es.
Installieren Sie das Java Development Kit (JDK) Version 8 oder höher.
Erstellen eines persönlichen Zugriffstokens
Um sich bei Ihrem Feed zu authentifizieren, müssen Sie zunächst ein persönliches Zugriffstoken mit Dem Packen von Lese- und Schreibbereichen erstellen:
Melden Sie sich bei Ihrem Azure DevOps-organization an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Benutzereinstellungen und dann Persönliche Zugriffstoken aus.
Wählen Sie "Neues Token" aus, und füllen Sie die erforderlichen Felder aus. Achten Sie darauf, den Bereich "Packaging>Read & write" auszuwählen.
Wählen Sie Erstellen, wenn Sie fertig sind. Kopieren Sie Ihr Token, und speichern Sie es an einem sicheren Speicherort, da Sie es für den nächsten Schritt benötigen.
Projekteinrichtung
Stellen Sie vor dem Einrichten Ihres Projekts sicher, dass Gradle installiert ist und Dass Sie das Maven Settings-Plug-In wie folgt zur Datei "build.gradle " hinzugefügt haben:
plugins {
id 'maven-publish'
}
Konfigurieren von build.gradle
Wenn im Stammverzeichnis des Projekts keine Build.gradle-Datei vorhanden ist, erstellen Sie eine neue Datei, und nennen Sie sie: build.gradle.
Fügen Sie der Datei "build.gradle" in den Containern "repositorys" und "publishing.repositories" den folgenden Abschnitt hinzu:
maven { url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1' //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1' name '<FEED_NAME>' credentials(PasswordCredentials) authentication { basic(BasicAuthentication) } }
Hier sehen Sie ein Beispiel dafür, wie Ihre Build.gradle-Datei aussehen sollte:
repositories {
mavenCentral()
maven {
url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1' //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
name '<FEED_NAME>'
credentials(PasswordCredentials)
authentication {
basic(BasicAuthentication)
}
}
}
publishing {
publications {
library(MavenPublication) {
from components.java
}
}
repositories {
maven {
url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1' //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
name '<FEED_NAME>'
credentials(PasswordCredentials)
authentication {
basic(BasicAuthentication)
}
}
}
}
Konfigurieren von gradle.properties
Öffnen Sie die Datei "gradle.properties " im Verzeichnis "GRADLE " Ihres Startordners (~/.gradle/gradle.properties). Wenn die Datei nicht vorhanden ist, erstellen Sie eine neue.
Fügen Sie den folgenden Codeausschnitt hinzu, und ersetzen Sie die Platzhalter durch Ihren Feednamen, den Organisationsnamen und das zuvor erstellte persönliche Zugriffstoken.
# Substitute FEED_NAME with the same name specified as the 'name' of the maven repository in build.gradle. # The value of the username is arbitrary but should not be blank. [FEED_NAME]Username=[ORGANIZATION_NAME] [FEED_NAME]Password=[PERSONAL_ACCESS_TOKEN]
Veröffentlichen Ihrer Pakete
Führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus, um Ihr Paket in Ihrem Feed zu veröffentlichen:
gradle publish