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
Utwórz organizację usługi Azure DevOps i projekt, jeśli jeszcze tego nie zrobiono.
Utwórz kanał informacyjny , jeśli jeszcze go nie masz.
Pobierz i zainstaluj narzędzie Gradle.
Zainstaluj zestaw Java Development Kit (JDK) w wersji 8 lub nowszej.
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 :
Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.
Wybierz pozycję Ustawienia użytkownika, a następnie wybierz pozycję Osobiste tokeny dostępu.
Wybierz pozycję Nowy token i wypełnij wymagane pola. Pamiętaj, aby wybrać zakres Odczytu i zapisu pakietów>.
Po zakończeniu wybierz pozycję Utwórz . Skopiuj token i zapisz go w bezpiecznej lokalizacji, ponieważ będzie potrzebny do następnego kroku.
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
Jeśli plik build.gradle nie istnieje w katalogu głównym projektu, utwórz nowy plik i nadaj mu nazwę build.gradle.
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
Otwórz plik gradle.properties znajdujący się w katalogu .gradle folderu macierzystego (~/.gradle/gradle.properties). Jeśli plik nie istnieje, utwórz nowy.
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
Uruchom następujące polecenie w katalogu projektu, aby opublikować pakiet w kanale informacyjnym:
gradle publish