Udostępnij za pośrednictwem


Używanie źródeł nadrzędnych w publicznym kanale informacyjnym

Usługa Azure Artifacts umożliwia deweloperom zarządzanie zależnościami z jednego źródła danych. Korzystając ze źródeł nadrzędnych, można korzystać z pakietów z kanałów informacyjnych i publicznych rejestrów, takich jak NuGet.org i npmjs.com. Ten artykuł obejmuje następujące zagadnienia:

  • Tworzenie publicznego kanału informacyjnego
  • Włączanie źródeł nadrzędnych
  • Dodawanie nowego nadrzędnego źródła

Wymagania wstępne

Ważne

Pliki blokad pakietów pomagają w powtarzalnych kompilacjach i minimalizowaniu scenariuszy, w których anonimowy użytkownik będzie monitowany o poświadczenia podczas korzystania z publicznych źródeł danych.

Tworzenie publicznego kanału informacyjnego

Publiczne źródło danych to źródło danych o zakresie projektu w projekcie publicznym. Publiczne kanały informacyjne dziedziczą ustawienia widoczności projektu hostingu.

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie wybierz swój projekt publiczny.

  2. Wybierz pozycję Artefakty, a następnie wybierz pozycję Utwórz kanał informacyjny.

    Zrzut ekranu przedstawiający przycisk tworzenia źródła danych w usłudze Azure Artifacts.

  3. Nadaj kanałowi informacyjnemu nazwę, a następnie wybierz pozycję Project: PublicProject (Zalecane) dla jego zakresu.

    Zrzut ekranu przedstawiający sposób tworzenia nowego publicznego kanału informacyjnego.

  4. Po zakończeniu wybierz pozycję Utwórz .

Dodawanie nadrzędnego źródła

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie wybierz swój projekt publiczny.

  2. Wybierz pozycję Artefakty, a następnie wybierz publiczny kanał informacyjny.

  3. Wybierz ikonę ikona koła zębatego koła zębatego, aby uzyskać dostęp do Ustawienia kanału informacyjnego.

  4. Wybierz pozycję Nadrzędne źródła, a następnie wybierz pozycję Dodaj nadrzędną.

    Zrzut ekranu przedstawiający sposób dodawania nadrzędnego źródła w publicznym kanale informacyjnym.

  5. Wybierz typ źródła nadrzędnego. W tym przykładzie dodamy NuGet.org jako nadrzędne źródło.

    Zrzut ekranu przedstawiający różne typy nadrzędnych źródeł.

  6. Skonfiguruj źródło, a następnie wybierz pozycję Zapisz po zakończeniu.

    Zrzut ekranu przedstawiający sposób konfigurowania nadrzędnego źródła.

  7. Wybierz pozycję Zapisz , aby zapisać nowe nadrzędne źródło.

    Zrzut ekranu przedstawiający sposób zapisywania nowo dodanego nadrzędnego źródła.

Ważne

Publiczne kanały informacyjne nie obsługują transmisji strumieniowej do prywatnego kanału informacyjnego Artifacts. Jeśli używasz publicznego kanału informacyjnego usługi Azure Artifacts, możesz wysyłać je tylko do publicznych rejestrów (NuGet.org, npmjs) lub innych publicznych źródeł danych usługi Azure Artifacts.

Przywracanie pakietów

Uruchom następujące polecenie w wierszu polecenia z podwyższonym poziomem uprawnień:

nuget.exe restore

Uwaga

Aby zainstalować nowe wersje pakietów z nadrzędnego źródła danych i nadrzędnego czytelnika (współpracownika) lub nowszego. Użytkownicy anonimowi mogą instalować tylko pakiety, które istnieją w ich kanale informacyjnym.

Q&A

Pyt.: Próbuję przywrócić pakiety, ale otrzymuję błąd 401 brak autoryzacji?

Zawartość kanału informacyjnego można zmienić tylko przez uwierzytelnioną i autoryzowaną tożsamość, która ma odpowiednie uprawnienia do kanału informacyjnego. Obejmuje to zapisywanie pakietów w kanale informacyjnym z nadrzędnego źródła. Użytkownicy nieuwierzytelnieni (anonimowi) mogą pobierać pakiety zapisane już w kanale informacyjnym, ale nie mogą zapisywać nowych pakietów z nadrzędnego źródła danych.

Osoby odpowiedzialne za projekt powinny zapisywać wszystkie potrzebne wersje pakietów w publicznym kanale informacyjnym. Można to zrobić, przywracając projekt przy użyciu tożsamości, która może podać poświadczenia do kanału informacyjnego po wyświetleniu monitu, i upewniając się, że użyta tożsamość ma uprawnienia Kanał informacyjny i Nadrzędny czytelnik (współpracownik) lub wyższe uprawnienia do publicznego kanału informacyjnego.

Jeśli użytkownicy anonimowi, którzy przywracają pakiety dla projektu, są wielokrotnie blokowani przez żądania dotyczące poświadczeń (odpowiedź 401), następujące podejścia spowodują zmniejszenie lub wyeliminowanie problemu:

  1. Unikaj używania zakresów wersji pakietu w konfiguracji projektu. Jawne wersje pakietów zapewnią, że klienci pakietów zażądają tylko dokładnej wymaganej wersji.

  2. Jeśli jest to obsługiwane, użyj plików blokady dla ekosystemu pakietów, aby klienci pakietów żądali tylko określonych wersji wymaganych dla projektu podczas operacji przywracania/instalowania.

Pyt.: Próbuję przywrócić pakiety przy użyciu programu Visual Studio, ale zauważam, że są one pobierane z innego źródła?

1: Upewnij się, że program Visual Studio używa źródła, do którego odwołuje się plik nuget.config , a nie z lokalnego menedżera pakietów NuGet. Aby uzyskać więcej informacji, zobacz Źródła pakietów.

Możesz również użyć interfejsu wiersza polecenia NuGet, aby wymusić użycie narzędzia NuGet do użycia źródła w pliku konfiguracji, uruchamiając następujące polecenie:

nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>