Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Azure Artifacts hjälper dig att lagra och hantera dina paket från en enda feed. Du kan dela paket inom ditt team, mellan organisationer eller, för befintliga offentliga projekt, offentligt. Den här artikeln visar hur du konfigurerar projektet och autentiserar till din Azure Artifacts feed med hjälp av NuGet.exe.
Förutsättningar
| Produkt | Krav |
|---|---|
| Azure DevOps | – En organisation i Azure DevOps . – Ett Azure DevOps-projekt. – Ett Azure Artifacts-flöde. – Ladda ned och installera nuget.exe version 4.8.0.5385 eller senare. Vi rekommenderar NuGet 5.5.x eller senare, vilket inkluderar viktiga felkorrigeringar för annulleringar och tidsgränser. |
Konfigurera providern för Azure Artifacts-autentiseringsuppgifter
Azure Artifacts-providern för autentiseringsuppgifter möjliggör säker autentisering till dina Azure Artifacts feeds. Om du vill använda den med nuget.exemåste du först lägga till den i NuGets sökväg för plugin-program. Mer information finns i Installation och identifiering av plugin-program. När plugin-programmet har lagts till följer du installationsstegen för operativsystemet nedan:
Använd någon av följande metoder för att installera Azure Artifacts-providern för autentiseringsuppgifter:
Manuell installation
Ladda ned den senaste versionen av Microsoft.NetFx48.NuGet.CredentialProvider.zip.
Extrahera zip-filen.
netfxKopiera mappen från det extraherade arkivet till%UserProfile%/.nuget/plugins/. Mappennetfxkrävs för nuget.exe kompatibilitet.
Installera med hjälpskriptet
Du kan också använda hjälpskriptet för att automatisera installationen. Kontrollera att du har PowerShell 5.1 eller senare och kör sedan:
iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"
Mer information finns i lagringsplatsen Azure Artifacts Credential Provider.
Projektinställningar
Följ de här stegen för att konfigurera projektet och lägga till din feed i din nuget.config-fil så att NuGet vet var paketen ska återställas och publiceras. Vilken feed-URL du använder beror på om ditt flöde är begränsat till ett projekt eller organisationen.
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Artefakter och välj sedan din feed från den nedrullningsbara menyn.
Välj Anslut för att mataoch välj sedan NuGet.exe i det vänstra navigeringsfönstret.
Lägg till en
nuget.configfil i projektet i samma mapp som din.csprojeller.slnfilen och klistra sedan in det angivna kodfragmentet i den. Filennuget.configbör likna något av följande exempel:Projektspecifikt flöde:
<?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>Organisationsomfattande flöde:
<?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>
Logga in på din Azure DevOps-samling och navigera sedan till projektet.
Välj Artefakter och välj sedan din feed från den nedrullningsbara menyn.
Välj Anslut till feedoch välj sedan NuGet.exe i det vänstra navigeringsfönstret.
Lägg till en
nuget.configfil i project i samma mapp som din.csprojeller.slnfilen och klistra sedan in kodfragmentet i avsnittet Project installation i filen.
Anmärkning
Azure Artifacts-providern för autentiseringsuppgifter kräver NuGet-version 4.8.0.5385 eller senare. Azure Artifacts rekommenderar NuGet 5.5.x eller senare för bästa kompatibilitet och tillförlitlighet.
Äldre projektkonfiguration
Om du använder en äldre version av NuGet som inte stöder det rekommenderade v3-flödet kan du fortfarande ansluta till ditt flöde med hjälp av den äldre v2-slutpunkten och en personlig åtkomsttoken (PAT). Använd endast den här metoden när du inte kan flytta till en nyare klient.
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Artefakter och välj sedan din feed från den nedrullningsbara menyn.
Välj Anslut till feed och välj sedan NuGet.exe till vänster.
Kopiera käll-URL:en från avsnittet Projektkonfiguration och ersätt
/v3/index.jsonsedan med/v2. Den uppdaterade käll-URL:en bör se ut ungefär så här:Projektspecifikt flöde:
https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2Organisationsomfattande flöde:
https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2
Skapa en personlig åtkomsttoken. Begränsa token till den organisation som du vill komma åt och välj sedan något av följande omfång baserat på dina behov: Paketering (läs), Paketering (läsning och skrivning)eller Paketering (läsa, skriva och hantera).
Kör följande kommando i ett kommandotolksfönster för att lägga till din feedkälla i din nuget.config-fil:
nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <ANY_STRING_BUT_NOT_NULL> -password <YOUR_PERSONAL_ACCESS_TOKEN>Om din organisation är ansluten till Microsoft Entra ID, autentiserar du först med dina Microsoft Entra-autentiseringsuppgifter och lägger sedan till din personliga åtkomsttoken med hjälp av kommandot
setapikey: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>
Autentisera med hjälp av tjänstens huvudnamn
Använd tjänstens huvudnamnsautentisering för automatiseringsscenarier där interaktiv inloggning inte är lämplig. Om du vill autentisera med en Azure Artifacts feed med hjälp av tjänstens huvudnamn anger du ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS miljövariabeln enligt följande exempel.
Variabeln anger feedens URL, program-ID:t (klient-ID:t) för tjänstens huvudnamn och antingen certifikatets ämnesnamn eller sökvägen till certifikatfilen. Du behöver bara ett av certifikatvärdena.
$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>"
}
]
}
'@