Freigeben über


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 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:

  1. Melden Sie sich bei Ihrem Azure DevOps-organization an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Benutzereinstellungen und dann Persönliche Zugriffstoken aus.

    Screenshot, der zeigt, wie Sie die Schaltfläche für das persönliche Zugriffstoken suchen.

  3. Wählen Sie "Neues Token" aus, und füllen Sie die erforderlichen Felder aus. Achten Sie darauf, den Bereich "Packaging>Read & write" auszuwählen.

  4. 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.

    Screenshot zum Erstellen eines neuen persönlichen Zugriffstokens mit Packen von Lese- und Schreibbereichen.

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

  1. Wenn im Stammverzeichnis des Projekts keine Build.gradle-Datei vorhanden ist, erstellen Sie eine neue Datei, und nennen Sie sie: build.gradle.

  2. 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

  1. Öffnen Sie die Datei "gradle.properties " im Verzeichnis "GRADLE " Ihres Startordners (~/.gradle/gradle.properties). Wenn die Datei nicht vorhanden ist, erstellen Sie eine neue.

  2. 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

  1. Führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus, um Ihr Paket in Ihrem Feed zu veröffentlichen:

    gradle publish
    

Screenshot, der ein Paket erfolgreich im Feed veröffentlicht hat.