Ripristinare pacchetti NuGet con Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Con Il ripristino pacchetti NuGet è possibile installare tutte le dipendenze del progetto senza doverle archiviare nel controllo del codice sorgente. Ciò consente un ambiente di sviluppo più pulito e una dimensione del repository inferiore. È possibile ripristinare i pacchetti NuGet usando l'attività di ripristino NuGet, l'interfaccia della riga di comando di NuGet o l'interfaccia della riga di comando di .NET Core. Questo articolo illustra come ripristinare i pacchetti NuGet usando pipeline SIA classiche che YAML.
Prerequisiti
- Un'organizzazione Azure DevOps. Creare un'organizzazione, se non ne è già disponibile una.
- Un progetto Azure DevOps. Se non ne hai ancora uno, puoi creare un nuovo progetto.
- Feed di Azure Artifacts. Crea un nuovo feed se non ne hai già uno.
- Connessione al feed Azure Artifacts: NuGet.exe, dotnet.
- Configurare le autorizzazioni della pipeline.
Ripristinare i pacchetti NuGet da un feed
Passare alla definizione della pipeline classica e quindi selezionare Modifica.
Selezionare questa opzione + per aggiungere una nuova attività. Cercare NuGet e quindi selezionare Aggiungi per aggiungere l'attività alla pipeline.
Assegnare un nome all'attività e selezionare Ripristina dal comando.
Selezionare Feed selezionata qui e selezionare il feed dal menu a discesa. Se si vuole usare il proprio file di configurazione, selezionare Feed nel file NuGet.config e immettere il percorso del file NuGet.config e la connessione al servizio se si vuole eseguire l'autenticazione con feed esterni all'organizzazione.
Per includere pacchetti da NuGet.org, selezionare la casella di controllo Usa pacchetti da NuGet.org .
Al termine, selezionare Salva e coda .
Nota
Il ripristino nuGet classico usa l'attività di NuGetCommand@2 . Per impostazione predefinita, questa versione usa NuGet 4.1.0. Usare l'attività Programma di installazione dello strumento NuGet se si vuole usare una versione nuGet diversa.
Ripristinare i pacchetti NuGet in locale
Posizionare l'oggetto nuget.config
nella stessa cartella .csproj
del file o .sln
. Il file di configurazione dovrebbe essere simile all'esempio seguente:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<!-- remove inherited connection strings -->
<clear />
<!-- add an Azure Artifacts feed -->
<add key="FabrikamFiber" value="https://pkgs.dev.azure.com/microsoftLearnModule/_packaging/FabrikamFiber/nuget/v3/index.json" />
<!-- Get packages from NuGet.org -->
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
Per ripristinare i pacchetti NuGet, eseguire il comando seguente nella directory del progetto:
nuget.exe restore
Ripristinare i pacchetti NuGet da un feed in un'organizzazione diversa
Per ripristinare i pacchetti NuGet da un feed in un'altra organizzazione di Azure DevOps, è necessario usare un token di accesso personale per l'autenticazione.
Creare un token di accesso personale
Passare all'organizzazione di Azure DevOps e quindi selezionare Impostazioni utente>Token di accesso personali.
Creare un token di accesso personale con ambito di creazione di pacchetti (lettura) e copiare il token di accesso personale negli Appunti.
Ripristino dei pacchetti NuGet
Passare alla definizione della pipeline e selezionare l'attività di ripristino NuGet. Assicurarsi di usare la versione 2 dell'attività.
Selezionare Feed e autenticazione e quindi feed in NuGet.config.
Selezionare il percorso del file NuGet.config .
Selezionare Nuovo per aggiungere credenziali per i feed all'esterno di questa organizzazione/raccolta.
Selezionare External Azure DevOps Server e quindi immettere l'URL del feed (assicurarsi che corrisponda a ciò che si trova nel file NuGet.config), il nome della connessione al servizio e il token di accesso personale creato in precedenza. Al termine, seleziona Salva.
Al termine, selezionare Salva e coda .
Domande frequenti
D: La pipeline non riesce a ripristinare i pacchetti NuGet?
R: L'attività di ripristino NuGet può avere esito negativo per diversi motivi. Lo scenario più comune è quando si aggiunge un nuovo progetto che richiede un framework di destinazione non supportato dalla versione NuGet usata dalla pipeline. Questo errore non si verifica in genere nell'ambiente di sviluppo locale perché Visual Studio si occupa dell'aggiornamento della soluzione di conseguenza. Assicurarsi di aggiornare l'attività NuGet alla versione più recente.