Używanie źródeł nadrzędnych w publicznym kanale informacyjnym
Azure DevOps Services
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
Organizacja: Azure DevOps. Utwórz organizację, jeśli jeszcze jej nie masz.
Projekt usługi Azure DevOps. Utwórz nowy projekt , jeśli jeszcze go nie masz.
Ustaw widoczność projektu na publiczny.
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.
Zaloguj się do organizacji usługi Azure DevOps, a następnie wybierz swój projekt publiczny.
Wybierz pozycję Artefakty, a następnie wybierz pozycję Utwórz kanał informacyjny.
Nadaj kanałowi informacyjnemu nazwę, a następnie wybierz pozycję Project: PublicProject (Zalecane) dla jego zakresu.
Po zakończeniu wybierz pozycję Utwórz .
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.
Dodawanie nadrzędnego źródła
Zaloguj się do organizacji usługi Azure DevOps, a następnie wybierz swój projekt publiczny.
Wybierz pozycję Artefakty, a następnie wybierz publiczny kanał informacyjny.
Wybierz ikonę koła zębatego, aby uzyskać dostęp do ustawień kanału informacyjnego.
Wybierz pozycję Nadrzędne źródła, a następnie wybierz pozycję Dodaj nadrzędną.
Wybierz typ źródła nadrzędnego. W tym przykładzie dodamy NuGet.org jako nadrzędne źródło.
Skonfiguruj źródło, a następnie wybierz pozycję Dodaj po zakończeniu.
Wybierz pozycję Zapisz , aby zapisać nowe nadrzędne źródło.
Ważne
Pliki blokady pakietów są wymagane do zapisania pakietów NuGet i Dotnet ze źródeł nadrzędnych do publicznego kanału informacyjnego.
Przywracanie pakietów
Uruchom następujące polecenie w katalogu projektu, aby przywrócić pakiety:
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
.: 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:
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.
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.
.: 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>