Pubblicare pacchetti NuGet dalla riga di comando (dotnet)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Questa guida illustra come configurare il progetto per pubblicare pacchetti NuGet usando l'interfaccia della riga di comando dotnet.
Prerequisiti
Prodotto | requisiti |
---|---|
Azure DevOps | - Un'organizzazione di Azure DevOps . - Un progetto Azure DevOps . - Un feed di di Azure Artifacts. - Scaricare e installare il provider di credenziali Azure Artifacts. - Scaricare e installare .NET Core SDK (2.1.400+). |
Connettersi a un feed
Accedere all'organizzazione di Azure DevOps e quindi passare al progetto.
Selezionare Artifactse quindi selezionare il tuo feed dal menu a discesa.
Selezionare Connetti al feede quindi selezionare dotnet nella sezione NuGet a sinistra.
Creare un file nuget.config nella stessa cartella del file csproj o sln. Copiare il frammento XML seguente e incollarlo nel nuovo file, sostituendo i segnaposto con le informazioni pertinenti:
Feed a livello organizzativo:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
Feed a livello di progetto
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
Accedere al server Azure DevOps e quindi passare al progetto.
Selezionare Artifactse quindi selezionare il feed.
Selezionare Connetti al feede quindi selezionare dotnet nel riquadro di spostamento a sinistra.
Seguire le istruzioni nella sezione Configurazione del progetto per connettersi al feed.
Nota
dotnet non è supportato in Azure DevOps Server 2019.
Pubblicare pacchetti in un feed nella stessa organizzazione
Eseguire il comando seguente per pubblicare un pacchetto nel feed. Sostituire i segnaposto con i valori appropriati:
dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING> <PACKAGE_PATH>
esempio:
dotnet nuget push --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ bin/MyPackage.5.0.2.nupkg
Nota
Il api-key
è obbligatorio, ma è possibile specificare qualsiasi stringa come valore durante la pubblicazione in un feed di Azure Artifacts.
Pubblicare pacchetti su un feed di un'altra organizzazione
Per pubblicare i pacchetti NuGet in un feed in un'organizzazione Azure DevOps diversa, è prima necessario creare un token di accesso personale nell'organizzazione di destinazione.
Passare all'organizzazione che ospita il feed di destinazione e creare un token di accesso personale (PAT) con Packaging>ambito di lettura e scrittura &.
Sostituire il segnaposto <PERSONAL_ACCESS_TOKEN> con il token di accesso personale e quindi eseguire il comando seguente per aggiungere l'origine del pacchetto al file nuget.config. Assicurarsi che questo file sia archiviato in modo sicuro e non sia archiviato nel controllo del codice sorgente.
dotnet nuget add source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --name <SOURCE_NAME> --username <USER_NAME> --password <PERSONAL_ACCESS_TOKEN> --configfile <PATH_TO_NUGET_CONFIG_FILE>
Eseguire il comando seguente per pubblicare il pacchetto:
dotnet nuget push --source <SOURCE_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>
esempio:
dotnet nuget add source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --name MySource --username MyUserName --password MyPersonalAccessToken --configfile ./nuget.config
dotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg
Nota
Se l'organizzazione usa un firewall o un server proxy, assicurarsi di consentire gli URL di dominio e gli indirizzi IP di Azure Artifacts .