Udostępnij za pośrednictwem


Publikowanie artefaktów za pomocą narzędzia Gradle

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Dzięki usłudze Azure Artifacts można efektywnie zarządzać zależnościami z jednego źródła danych, przechowując różne typy pakietów w jednym miejscu. Usługa Azure Artifacts umożliwia deweloperom publikowanie i używanie pakietów z różnych źródeł oraz udostępnianie ich zgodnie z ustawieniami widoczności kanału informacyjnego. W tym artykule dowiesz się, jak nawiązać połączenie ze źródłem danych usługi Azure Artifacts i opublikować pakiety przy użyciu narzędzia Gradle.

Wymagania wstępne

Tworzenie osobistego tokenu dostępu

Aby uwierzytelnić się za pomocą kanału informacyjnego, należy najpierw utworzyć osobisty token dostępu z pakietem Zakresy odczytu i zapisu :

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Ustawienia użytkownika, a następnie wybierz pozycję Osobiste tokeny dostępu.

    Zrzut ekranu przedstawiający sposób lokalizowania osobistego przycisku tokenu dostępu.

  3. Wybierz pozycję Nowy token i wypełnij wymagane pola. Pamiętaj, aby wybrać zakres Odczytu i zapisu pakietów>.

  4. Po zakończeniu wybierz pozycję Utwórz . Skopiuj token i zapisz go w bezpiecznej lokalizacji, ponieważ będzie potrzebny do następnego kroku.

    Zrzut ekranu przedstawiający sposób tworzenia nowego osobistego tokenu dostępu z zakresami odczytu i zapisu pakietów.

Ustawienia projektu

Przed skonfigurowaniem projektu upewnij się, że narzędzie Gradle jest zainstalowane i że dodano wtyczkę Ustawienia narzędzia Maven do pliku build.gradle w następujący sposób:

plugins {
  id 'maven-publish'
}

Konfigurowanie pliku build.gradle

  1. Jeśli plik build.gradle nie istnieje w katalogu głównym projektu, utwórz nowy plik i nadaj mu nazwę build.gradle.

  2. Dodaj następującą sekcję do pliku build.gradle w kontenerach repozytoriów i publishing.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)
        }
    }
    

Oto przykładowy wygląd pliku build.gradle :

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)
            }
        }
    }
}

Konfigurowanie pliku gradle.properties

  1. Otwórz plik gradle.properties znajdujący się w katalogu .gradle folderu macierzystego (~/.gradle/gradle.properties). Jeśli plik nie istnieje, utwórz nowy.

  2. Dodaj poniższy fragment kodu, zastępując symbole zastępcze nazwą źródła danych, nazwą organizacji i utworzonym wcześniej osobistym tokenem dostępu.

    # 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]
    

Publikowanie pakietów

  1. Uruchom następujące polecenie w katalogu projektu, aby opublikować pakiet w kanale informacyjnym:

    gradle publish
    

Zrzut ekranu przedstawiający pomyślnie opublikowany pakiet w kanale informacyjnym.