Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
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 .NET SDK versione 9.0.200 o versione successiva. |
Configurare il provider di credenziali Azure Artifacts
Per eseguire l'autenticazione con il feed, è prima necessario installare il provider di credenziali Azure Artifacts. Usando il programma di installazione dello strumento incluso in dotnet, è possibile installare il provider di credenziali dall'interfaccia della riga di comando usando il comando seguente:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool
Se il file nuget.config a livello di repository è configurato per usare solo le origini di Azure Artifacts, esegui il comando di installazione da fuori di tale directory oppure imposta esplicitamente nuget.org come origine:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --source https://api.nuget.org/v3/index.json
Facoltativamente, aggiungere lo strumento a una versione principale(ad esempio, nelle immagini del contenitore in cui la riproducibilità è importante):
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --version 2.* --source https://api.nuget.org/v3/index.json
Primo utilizzo
La prima volta che si esegue un'operazione che richiede l'autenticazione, usare uno degli approcci seguenti:
- Esegui il comando con
--interactivein modo chedotnetpossa chiederti di accedere. Questo è l'approccio consigliato per la maggior parte degli scenari di sviluppo locali.
Prima di eseguire un comando interattivo, assicurarsi che il progetto sia configurato e che il feed venga aggiunto a nuget.config. Per informazioni dettagliate sull'installazione, vedere Configurazione del progetto.
Dopo aver configurato e connesso il progetto al feed, passare alla directory del progetto ed eseguire:
dotnet restore --interactive
Questo comando consente di accedere e acquisire un token di sessione. Dopo aver effettuato l'accesso, è possibile eseguire comandi autenticati senza --interactive finché il token di sessione memorizzato nella cache rimane valido. Per altre informazioni, vedere Session token cache locations.
- Per gli scenari non interattivi, ad esempio i contenitori Docker e l'automazione personalizzata, fornire le credenziali tramite le variabili environment.
Per Azure Pipelines, usare l'attività NuGetAuthenticate@1 per eseguire l'autenticazione nel feed prima di eseguire comandi come dotnet restore o dotnet nuget push. Per ulteriori dettagli, vedere Ripristinare i pacchetti NuGet con Azure Pipelines.
Creare un feed
Se si dispone già di un feed, procedere con il passaggio successivo. In caso contrario, seguire le istruzioni riportate di seguito per crearne una nuova:
Accedere ad Azure DevOps e passare al progetto.
Selezionare Artifactse quindi selezionare Create Feed.
Immettere un nome descrittivo per il feed e definirne la visibilità (chi può usare il feed). Specificare l'ambito del feed e, se si desidera includere pacchetti da origini pubbliche, selezionare la casella di controllo Includi pacchetti da origini pubbliche comuni .
Al termine, fare clic su Crea.
Connettersi a un feed
Prima di poter pubblicare pacchetti nel feed, è necessario eseguire l'autenticazione con Azure Artifacts. Seguire le istruzioni seguenti per configurare il progetto ed eseguire l'autenticazione con il 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:
<?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>
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 parametro è obbligatorio durante la pubblicazione in un feed di Azure Artifacts, ma è possibile usare qualsiasi stringa come valore.
Pubblicare pacchetti in un feed in un'organizzazione diversa
Per pubblicare i pacchetti NuGet in un feed in un'organizzazione Azure DevOps diversa, è prima necessario creare un token di accesso personale (PAT) nell'organizzazione di destinazione, aggiungere la nuova origine del pacchetto al file di configurazione e quindi eseguire il comando publish:
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 conservato in modo sicuro e non sia registrato 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 che siano consentiti gli URL di dominio e gli indirizzi IP di Azure Artifacts .