Pubblicare elementi con Gradle
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Con Azure Artifacts è possibile gestire in modo efficiente le dipendenze da un singolo feed, archiviando vari tipi di pacchetti in un'unica posizione. Azure Artifacts consente agli sviluppatori di pubblicare e usare pacchetti da origini diverse e di condividerli in base alle impostazioni di visibilità del feed. Questo articolo illustra come connettersi a un feed di Azure Artifacts e pubblicare i pacchetti usando Gradle.
Prerequisiti
Creare un'organizzazione Azure DevOps e un progetto, se non è già stato fatto.
Crea un feed se non ne hai già uno.
Scaricare e installare Gradle.
Installare Java Development Kit (JDK) versione 8 o successiva.
Creare un token di accesso personale
Per eseguire l'autenticazione con il feed, è prima necessario creare un token di accesso personale con ambiti di lettura e scrittura per la creazione di pacchetti:
Accedere all'organizzazione di Azure DevOps e passare al progetto.
Selezionare Impostazioni utente e quindi token di accesso personali.
Selezionare Nuovo token e compilare i campi obbligatori. Assicurarsi di selezionare l'ambito di lettura e scrittura per la creazione di pacchetti>.
Al termine, fare clic su Crea. Copiare il token e salvarlo in una posizione sicura, perché sarà necessario per il passaggio successivo.
Impostazione progetto
Prima di configurare il progetto, assicurarsi che Gradle sia installato e che sia stato aggiunto il plug-in Impostazioni Maven al file build.gradle come indicato di seguito:
plugins {
id 'maven-publish'
}
Configurare build.gradle
Se un file build.gradle non esiste nella radice del progetto, creare un nuovo file e denominarlo build.gradle.
Aggiungere la sezione seguente al file build.gradle all'interno dei repository e dei contenitori publishing.repository:
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) } }
Ecco un esempio dell'aspetto del file 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)
}
}
}
}
Configurare gradle.properties
Aprire il file gradle.properties che si trova nella directory gradle della home directory (~/.gradle/gradle.properties). Se il file non esiste, crearne uno nuovo.
Aggiungere il frammento di codice seguente, sostituendo i segnaposto con il nome del feed, il nome dell'organizzazione e il token di accesso personale creato in precedenza.
# 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]
Pubblicare i pacchetti
Eseguire il comando seguente nella directory del progetto per pubblicare il pacchetto nel feed:
gradle publish