Udostępnij przez


Nawiązywanie połączenia z kanałem informacyjnym usługi Azure Artifacts (NuGet.exe)

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

Usługa Azure Artifacts umożliwia deweloperom pobieranie pakietów NuGet z różnych źródeł, takich jak prywatne źródła danych i rejestry publiczne. Pakiety można publikować w prywatnych źródłach danych i kontrolować dostęp lub tworzyć publiczne źródła danych, aby udostępniać je otwarcie. Ten artykuł przeprowadzi Cię przez proces uwierzytelniania w kanale informacyjnym usługi Azure Artifacts.

Wymagania wstępne

produkt Wymagania
Azure DevOps — Organizacja usługi Azure DevOps .
— Projekt usługi Azure DevOps .
— Źródło danych usługi Azure Artifacts .
— Pobierz i zainstaluj dostawcę poświadczeń usługi Azure Artifacts.
— Zainstaluj najnowszą wersję pakietu NuGet.

Konfiguracja projektu

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artefakty, a następnie wybierz swój kanał z menu rozwijanego.

  3. Wybierz Połącz z kanałem informacyjnym, a następnie wybierz NuGet.exe z lewej strony.

  4. Dodaj plik nuget.config do projektu, umieść go w tym samym folderze co plik csproj lub sln , a następnie wklej do niego podany fragment kodu. Plik nuget.config powinien wyglądać podobnie do następującego:

    • Kanał informacyjny w zakresie projektu:

      <?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>
      
    • Kanał informacyjny na potrzeby organizacji

      <?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. Zaloguj się do kolekcji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artefakty, a następnie wybierz swój kanał z menu rozwijanego.

  3. Wybierz Połącz z kanałem informacyjnym, a następnie wybierz NuGet.exe w okienku nawigacji po lewej stronie.

  4. Dodaj plik nuget.config do projektu, umieść go w tym samym folderze co plik csproj lub sln , a następnie wklej fragment kodu podany w sekcji Konfiguracja projektu do pliku.

Uwaga / Notatka

Dostawca poświadczeń usługi Azure Artifacts wymaga wersji NuGet lub nowszej4.8.0.5385. Aby uzyskać optymalną wydajność, usługa Azure Artifacts zaleca korzystanie z wersji 5.5.x NuGet lub nowszej, ponieważ obejmuje ona kluczowe poprawki błędów związane z anulowaniami i przekroczeniami limitu czasu.

Konfiguracja starszego projektu

Jeśli używasz starszej wersji pakietu NuGet, postępuj zgodnie z poniższymi instrukcjami, aby nawiązać połączenie ze źródłem danych:

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artefakty, a następnie wybierz swój kanał z menu rozwijanego.

  3. Wybierz Połącz z kanałem informacyjnym, a następnie wybierz NuGet.exe z lewej strony.

  4. Skopiuj źródłowy adres URL z sekcji Konfiguracja projektu , a następnie zastąp ciąg /v3/index.json ciągiem /v2. Zaktualizowany adres URL źródła powinien wyglądać następująco:

    • Kanał informacyjny w zakresie projektu:

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
    • Kanał informacyjny na potrzeby organizacji

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
  5. Utwórz osobisty token dostępu, upewnij się, że jest on przypisany do odpowiedniej organizacji, do której chcesz uzyskać dostęp, a następnie wybierz jedną z następujących opcji na podstawie Twoich potrzeb: Pakowanie (odczyt), Pakowanie (odczyt i zapis) lub Pakowanie (odczyt, zapis i zarządzanie).

  6. Uruchom następujące polecenie w oknie wiersza polecenia, aby dodać swoje źródło danych do pliku nuget.config.

    nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <ANY_STRING_BUT_NOT_NULL> -password <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. Jeśli Twoja organizacja jest połączona z identyfikatorem Entra firmy Microsoft, musisz najpierw uwierzytelnić się przy użyciu poświadczeń usługi AD, a następnie dodać osobisty token dostępu przy użyciu polecenia 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> 
    

Uwierzytelnij się za pomocą zasad serwisu

Aby uwierzytelnić się w kanale Azure Artifacts przy użyciu jednostki usługi, ustaw zmienną środowiskową ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS, jak pokazano poniżej.

Określa URL Twojego kanału, identyfikator aplikacji (klienta) głównej usługi oraz nazwę podmiotu lub ścieżkę pliku certyfikatu głównej usługi (wymagany jest tylko jeden z tych dwóch).

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