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.
servizi Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Azure Artifacts consente di archiviare e gestire i pacchetti da un singolo feed. È possibile condividere pacchetti all'interno del team, tra organizzazioni o pubblicamente. Questo articolo illustra come configurare il progetto ed eseguire l'autenticazione nel feed di Azure Artifacts usando NuGet.exe.
Prerequisiti
| Prodotto | Requisiti |
|---|---|
| Azure DevOps | - Un'organizzazione di Azure DevOps. - Un progetto Azure DevOps . - Un feed di Azure Artifacts . - Scaricare e installare nuget.exe versione 4.8.0.5385 o successiva. È consigliabile usare NuGet 5.5.x o versione successiva, che include importanti correzioni di bug per gli annullamenti e i timeout. |
Configurare il provider di credenziali Azure Artifacts
Il provider di credenziali Azure Artifacts consente l'autenticazione sicura per i feed di Azure Artifacts. Per usarlo con nuget.exe, è prima necessario aggiungerlo al percorso di ricerca del plug-in di NuGet. Per informazioni dettagliate, vedere Installazione e individuazione dei plug-in. Dopo aver aggiunto il plug-in, seguire la procedura di installazione per il sistema operativo seguente:
Usare uno dei metodi seguenti per installare il provider di credenziali Azure Artifacts:
Installazione manuale
Scaricare la versione più recente Microsoft.NetFx48.NuGet.CredentialProvider.zip.
Estrarre il file ZIP.
Copiare la
netfxcartella dall'archivio estratto in%UserProfile%/.nuget/plugins/. Lanetfxcartella è necessaria per la compatibilità nuget.exe.
Installa utilizzando lo script di supporto
In alternativa, è possibile usare lo script helper per automatizzare l'installazione. Assicurarsi di avere PowerShell 5.1 o versione successiva e quindi eseguire:
iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"
Per altre informazioni, consulta il repository Azure Artifacts Credential Provider.
Configurazione del progetto
Seguire questa procedura per configurare il progetto e aggiungere il feed al nuget.config file in modo che NuGet sappia dove ripristinare e pubblicare i pacchetti. L'URL del feed usato dipende dal fatto che il feed sia limitato a un progetto o all'organizzazione.
Accedere all'organizzazione di Azure DevOps e quindi passare al progetto.
Selezionare Elementi e quindi selezionare il tuo feed dal menu a tendina.
Selezionare Connetti al feede quindi selezionare NuGet.exe nel riquadro di navigazione a sinistra.
Aggiungi un file
nuget.configal progetto nella stessa cartella del file.csprojo.sln, quindi incolla al suo interno lo snippet fornito. Ilnuget.configfile dovrebbe essere simile a uno degli esempi seguenti:Feed a livello di progetto:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>feed a livello di organizzazione:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
Accedi alla tua raccolta di Azure DevOps, e quindi passa al tuo progetto.
Selezionare Elementi e quindi selezionare il tuo feed dal menu a tendina.
Selezionare Connetti al feede quindi selezionare NuGet.exe nel riquadro di navigazione a sinistra.
Aggiungi un file
nuget.configal tuo progetto nella stessa cartella del file.csprojo.sln, quindi incolla nel tuo file il frammento fornito nella sezione Configurazione del progetto.
Annotazioni
Il provider di credenziali Azure Artifacts richiede la versione 4.8.0.5385 nuGet o successiva. Azure Artifacts consiglia NuGet 5.5.x o versione successiva per garantire la migliore compatibilità e affidabilità.
Configurazione del progetto legacy
Se si usa una versione precedente di NuGet che non supporta il flusso v3 consigliato, è comunque possibile connettersi al feed usando l'endpoint v2 precedente e un token di accesso personale . Usare questo approccio solo quando non è possibile passare a un client più recente.
Accedere all'organizzazione di Azure DevOps e quindi passare al progetto.
Selezionare Elementi e quindi selezionare il tuo feed dal menu a tendina.
Selezionare Connetti al feed e quindi selezionare NuGet.exe a sinistra.
Copiare l'URL di origine dalla sezione Configurazione progetto e quindi sostituire
/v3/index.jsoncon/v2. L'URL di origine aggiornato dovrebbe essere simile a uno dei seguenti:Feed a livello di progetto:
https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2feed a livello di organizzazione:
https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2
Creare un token di accesso personale. Definire l'ambito del token all'organizzazione a cui si vuole accedere e quindi selezionare uno degli ambiti seguenti in base alle esigenze: Creazione di pacchetti (lettura),Creazione di pacchetti (lettura e scrittura) o Creazione di pacchetti (lettura, scrittura e gestione) .
Eseguire il seguente comando in una finestra del prompt dei comandi per aggiungere la sorgente del feed al file nuget.config.
nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <ANY_STRING_BUT_NOT_NULL> -password <YOUR_PERSONAL_ACCESS_TOKEN>Se l'organizzazione è connessa a Microsoft Entra ID, eseguire prima l'autenticazione con le credenziali Microsoft Entra e quindi aggiungere il token di accesso personale usando il
setapikeycomando :nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <AZURE_ACTIVE_DIRECTORY_USERNAME> -password <AZURE_ACTIVE_DIRECTORY_PASSWORD> nuget setapikey <YOUR_PERSONAL_ACCESS_TOKEN> -source <SOURCE_URL>
Eseguire l'autenticazione tramite entità servizio
Usa l'autenticazione del service principal per gli scenari di automazione in cui l'accesso interattivo non è appropriato. Per eseguire l'autenticazione con un feed Azure Artifacts usando un'entità servizio, impostare la variabile di ambiente ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS come illustrato negli esempi seguenti.
La variabile specifica l'URL del tuo feed, l'ID applicazione (client) dell'entità servizio e il nome del soggetto del certificato oppure il percorso del file del certificato. È necessario solo uno dei valori del certificato.
$env:ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS = @'{
"endpointCredentials": [
{
"endpoint": "<FEED_URL>",
"clientId": "<SERVICE_PRINCIPAL_APPLICATION_(CLIENT)_ID>",
"clientCertificateSubjectName": "<SERVICE_PRINCIPAL_CERTIFICATE_NAME>",
"clientCertificateFilePath": "<SERVICE_PRINCIPAL_CERTIFICATE_PATH>"
}
]
}
'@