Verbinding maken met Azure-artefacten feeds met behulp van NuGet.exe

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Azure-artefacten helpt u bij het opslaan en beheren van uw pakketten vanuit één feed. U kunt pakketten delen binnen uw team, tussen organisaties of, voor bestaande openbare projecten, openbaar. In dit artikel wordt beschreven hoe u uw project instelt en verifieert bij uw Azure-artefacten feed met behulp van NuGet.exe.

Vereiste voorwaarden

Product Eisen
Azure DevOps - Een Azure DevOps organisatie.
- Een Azure DevOps--project.
- Een Azure-artefacten feed.
- Download en installeer nuget.exe versie 4.8.0.5385 of hoger. We raden NuGet 5.5.x of hoger aan, waaronder belangrijke bugfixes voor annuleringen en time-outs.

De Azure-artefacten-aanmeldingsgegevensprovider instellen

De Azure-artefacten Referentieprovider maakt beveiligde verificatie mogelijk voor uw Azure-artefacten-feeds. Als u het wilt gebruiken met nuget.exe, moet u deze eerst toevoegen aan het zoekpad voor invoegtoepassingen van NuGet. Zie Installatie en detectie van invoegtoepassingen voor meer informatie. Zodra de invoegtoepassing is toegevoegd, volgt u de installatiestappen voor uw besturingssysteem hieronder:

Gebruik een van de volgende methoden om de Azure-artefacten Referentieprovider te installeren:

Handmatige installatie

  1. Download de nieuwste Microsoft.NetFx48.NuGet.CredentialProvider.zip release.

  2. Pak het zip-bestand uit.

  3. Kopieer de netfx map uit het uitgepakte archief naar %UserProfile%/.nuget/plugins/. De netfx map is vereist voor nuget.exe compatibiliteit.

Installeren met behulp van het helperscript

U kunt ook het helperscript gebruiken om de installatie te automatiseren. Zorg ervoor dat u PowerShell 5.1 of hoger hebt en voer het volgende uit:

iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"

Zie de opslagplaats Azure-artefacten Credential Provider voor meer informatie.

Projectopstelling

Volg deze stappen om uw project in te stellen en uw feed toe te voegen aan uw nuget.config bestand, zodat NuGet weet waar pakketten moeten worden hersteld en gepubliceerd. De feed-URL die u gebruikt, is afhankelijk van of uw feed is gericht op een project of naar de organisatie.

  1. Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.

  2. Selecteer Artefacten en selecteer vervolgens uw feed in de vervolgkeuzelijst.

  3. Selecteer Verbinding maken met feeden selecteer vervolgens NuGet.exe in het linkernavigatiedeelvenster.

  4. Voeg een nuget.config bestand toe aan uw project in dezelfde map als uw .csproj of .sln bestand en plak het opgegeven fragment erin. Uw nuget.config bestand moet er ongeveer uitzien als een van de volgende voorbeelden:

    • Feed voor projectbereik:

      <?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>
      
    • Organisatiegerichte feed:

      <?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>
      
  1. Meld u aan bij uw Azure DevOps-verzameling en navigeer vervolgens naar uw project.

  2. Selecteer Artefacten en selecteer vervolgens uw feed in de vervolgkeuzelijst.

  3. Selecteer Verbinding maken met feeden selecteer vervolgens NuGet.exe in het linkernavigatiedeelvenster.

  4. Voeg een nuget.config bestand toe aan uw project in dezelfde map als uw .csproj of .sln bestand en plak het fragment dat is opgegeven in de sectie Project setup in uw bestand.

Opmerking

Voor de Azure-artefacten Referentieprovider is nuGet-versie 4.8.0.5385 of hoger vereist. Azure-artefacten raadt NuGet 5.5.x of hoger aan voor de beste compatibiliteit en betrouwbaarheid.

Oude projectopzet

Als u een oudere versie van NuGet gebruikt die geen ondersteuning biedt voor de aanbevolen v3-stroom, kunt u nog steeds verbinding maken met uw feed met behulp van het oudere v2-eindpunt en een persoonlijk toegangstoken (PAT). Gebruik deze methode alleen als u niet naar een nieuwere client kunt gaan.

  1. Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.

  2. Selecteer Artefacten en selecteer vervolgens uw feed in de vervolgkeuzelijst.

  3. Selecteer Verbinding maken met feed en selecteer vervolgens NuGet.exe aan de linkerkant.

  4. Kopieer de bron-URL uit de sectie Project-installatie en vervang deze door /v3/index.json/v2. De bijgewerkte bron-URL moet er als volgt uitzien:

    • Feed voor projectbereik:

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
    • Organisatiegerichte feed:

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
  5. Maak een persoonlijk toegangstoken. Beperk het token tot de organisatie waartoe u toegang wilt, en selecteer vervolgens op basis van uw behoeften een van de volgende machtigingen: Pakketten (lezen), Pakketten (lezen en schrijven) of Pakketten (lezen, schrijven en beheren).

  6. Voer de volgende opdracht uit in een opdrachtpromptvenster om uw feedbron toe te voegen aan uw nuget.config bestand:

    nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <ANY_STRING_BUT_NOT_NULL> -password <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. Als uw organisatie is verbonden met Microsoft Entra ID, moet u zich eerst verifiëren met uw Microsoft Entra referenties en vervolgens uw persoonlijke toegangstoken toevoegen met behulp van de setapikey opdracht:

    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> 
    

Verifiëren met behulp van service-principals

Gebruik service-principalverificatie voor automatiseringsscenario's waarbij interactieve aanmelding niet geschikt is. Als u wilt verifiëren met een Azure-artefacten feed met behulp van een service-principal, stelt u de omgevingsvariabele ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS in, zoals wordt weergegeven in de volgende voorbeelden.

De variabele geeft uw feed-URL, de client-id van de service-principaltoepassing en de onderwerpnaam van het certificaat of het pad naar het certificaatbestand op. U hebt slechts een van de certificaatwaarden nodig.

$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>"
        }
    ]
}
'@