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 Artifacts consente agli sviluppatori di gestire in modo efficiente tutte le dipendenze da un singolo feed. I feed in Azure Artifacts fungono da repository aziendali per l'archiviazione, la gestione e la condivisione di pacchetti, sia all'interno di un team, tra organizzazioni o pubblicamente su Internet. Azure Artifacts supporta un'ampia gamma di tipi di pacchetti, tra cui NuGet, npm, Python, Maven, Cargo e Pacchetti universali.
Questo articolo illustra come pubblicare il primo pacchetto NuGet in un feed di Azure Artifacts. Facoltativamente, è possibile seguire le istruzioni per usare GitHub Copilot per configurare il progetto e preparare il pacchetto per la pubblicazione.
Prerequisiti
| Prodotto | Requisiti |
|---|---|
| Azure DevOps | - Un'organizzazione di Azure DevOps. - Un progetto Azure DevOps . - Scaricare e installare .NET SDK versione 9.0.200 o versione successiva. |
| GitHub Copilot (facoltativo) | - Configurare GitHub Copilot e Visual Studio Code. Se non è ancora stata effettuata l'iscrizione, è disponibile una versione di valutazione gratuita di GitHub Copilot di 30 giorni. |
Creare un feed
Se si dispone già di un feed, è possibile ignorare questa sezione. In caso contrario, seguire questa procedura per creare un nuovo feed in Azure Artifacts:
Accedere all'organizzazione di Azure DevOps e passare al progetto.
Selezionare Artefatti, e quindi selezionare Crea feed.
Specificare un nome descrittivo per il feed e impostarne La visibilità per definire chi può visualizzare i pacchetti nel feed. Definire l'ambito del feed e selezionare la casella di controllo Origini upstream se si desidera includere pacchetti da origini pubbliche.
Al termine, fare clic su Crea.
Accedere alla raccolta di Azure DevOps e quindi passare al progetto.
Selezionare Artefatti, e quindi selezionare Crea feed.
Specificare un nome descrittivo per il feed e impostarne La visibilità per definire chi può visualizzare i pacchetti nel feed. Definire l'ambito del feed e selezionare la casella di controllo Origini upstream se si desidera includere pacchetti da origini pubbliche.
Al termine, fare clic su Crea.
Preparare il pacchetto
In questo esempio si userà una libreria di classi .NET Core di esempio e si configureranno i metadati del pacchetto prima di compilare il progetto e creare un pacchetto NuGet pronto per la pubblicazione nel feed. Se non si ha ancora un progetto, seguire le istruzioni riportate in questa guida per creare una libreria di classi .NET con Visual Studio Code.
Aprire il progetto in Visual Studio Code e quindi selezionare il file csproj . Aggiungere i metadati del pacchetto all'interno del
<PropertyGroup>tag. Il file dovrebbe essere simile al seguente:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net8.0</TargetFramework> <RootNamespace>demo_class_library</RootNamespace> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <PackageId>YOUR_PACKAGE_NAME</PackageId> <Version>YOUR_PACKAGE_VERSION</Version> <Authors>YOUR_NAME</Authors> <Company>YOUR_COMPANY</Company> </PropertyGroup> </Project>Eseguire il comando seguente nella directory del progetto per compilare il progetto e creare un pacchetto .nupkg . Il pacchetto si troverà nella
bin\releasecartella .dotnet pack
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.
Connettersi a un feed
Seguire questa procedura per configurare il progetto e connettersi al feed di Azure Artifacts. Assicurarsi di aver installato il provider di credenziali di Azure Artifacts e la versione più recente di NuGet, come descritto nei prerequisiti.
Accedere all'organizzazione di Azure DevOps e passare al progetto.
Selezionare Artefatti e quindi selezionare il tuo feed dal menu a discesa.
Selezionare Connetti al feed e poi selezionare dotnet nella sezione NuGet.
Seguire le istruzioni riportate nell'installazione di Project per configurare il file nuget.config. La struttura del file dovrebbe essere simile a una delle seguenti:
Feed con ambito 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>Feed con ambito organizzazione:
<?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>
Accedere alla raccolta di Azure DevOps e quindi passare al progetto.
Selezionare Artefatti e quindi selezionare il tuo feed dal menu a discesa.
Selezionare Connetti al feed e quindi selezionare dotnet nel riquadro di spostamento a sinistra.
Seguire le istruzioni nella sezione Configurazione progetto per configurare il file nuget.config .
Pubblicare il pacchetto
Eseguire il comando seguente dalla directory del progetto per pubblicare il pacchetto nel feed di Azure Artifacts. Il --api-key parametro è obbligatorio, ma è possibile usare qualsiasi valore stringa durante la pubblicazione in Azure Artifacts.
dotnet nuget push --source <FEED_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>