Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Źródła nadrzędne usługi Azure Artifacts umożliwiają deweloperom przechowywanie pakietów z różnych źródeł w jednym kanale informacyjnym, w tym pakietów publikowanych w kanale informacyjnym i zainstalowanych z publicznych rejestrów, takich jak NuGet.org lub npmjs.com. Po włączeniu źródeł nadrzędnych wszystkie pakiety zainstalowane ze źródła nadrzędnego są automatycznie zapisywane w repozytorium.
Uwaga
Aby zapisać pakiety z zewnętrznych źródeł, musisz mieć rolę Czytelnik kanałów i źródeł (współpracownik) lub wyższą. Aby uzyskać więcej informacji, zobacz Role i uprawnienia kanału informacyjnego .
Dlaczego warto używać źródeł nadrzędnych?
Włączenie źródeł nadrzędnych oferuje kilka zalet zarządzania zależnościami produktu w ramach jednego kanału informacyjnego:
Prostota: Przechowywanie wszystkich pakietów w jednym kanale informacyjnym upraszcza pliki konfiguracji, takie jak NuGet.config, npmrc lub settings.xml. W przypadku tylko jednego źródła danych w pliku konfiguracji można zmniejszyć złożoność konfiguracji i zminimalizować błędy.
Spójne kompilacje: Strumień pakietów rozwiązuje żądania pakietów w zdefiniowanej kolejności, co pomaga zapewnić przewidywalność i niezawodność kompilacji w różnych środowiskach.
Integralność Pakietów: Strumień zachowuje metadane dotyczące pakietów zapisanych ze źródeł nadrzędnych, co pozwala zweryfikować ich autentyczność i upewnić się, że używasz oryginalnych wersji, a nie kopii ani potencjalnie złośliwych wersji.
niezawodność: pakiety zainstalowane ze źródeł nadrzędnych są automatycznie zapisywane w kanale informacyjnym. Zapewnia to stały dostęp nawet wtedy, gdy źródło nadrzędne stanie się tymczasowo niedostępne z powodu konserwacji lub innych problemów, dzięki czemu można kontynuować opracowywanie i budowanie z ufnością.
Najlepsze rozwiązania dla użytkowników pakietów
Aby w pełni wykorzystać zalety nadrzędnych źródeł jako konsumenta pakietów, postępuj zgodnie z następującymi najlepszymi rozwiązaniami:
Użyj pojedynczego kanału w pliku konfiguracji
Aby źródło danych zapewniało przywracanie deterministyczne, upewnij się, że plik konfiguracji (taki jak nuget.config lub npmrc) odwołuje się tylko do jednego źródła danych z włączonymi źródłami nadrzędnymi.
Przykłady:
registry=https://pkgs.dev.azure.com/fabrikam/_packaging/FabrikamFiber/npm/registry/ always-auth=true<packageSources> <clear /> <add key="FabrikamFiber" value="https://pkgs.dev.azure.com/fabrikam/_packaging/FabrikamFiber/nuget/v3/index.json" /> </packageSources>Uwaga
NuGet kompiluje kilka plików konfiguracji, aby określić pełny zestaw opcji do zastosowania. Użycie
<clear />gwarantuje, że wszystkie inne źródła pakietów określone w plikach konfiguracji wyższego poziomu są ignorowane.
Celowo porządkowaj źródła nadrzędne
Jeśli używasz tylko publicznych rejestrów, takich jak NuGet.org lub npmjs.com, kolejność źródeł nadrzędnych nie ma wpływu na zachowanie. Żądania do kanału są zgodne z sekwencją opisaną w rozdziale kolejności wyszukiwania.
Jednak w przypadku zarządzania wieloma źródłami, takimi jak kombinacja źródeł danych i rejestrów publicznych, każde źródło nadrzędne jest przeszukiwane w kolejności zdefiniowanej w ustawieniach konfiguracji kanału informacyjnego. W takich przypadkach zalecamy umieszczenie publicznych rejestrów najpierw na liście nadrzędnych źródeł.
W niektórych unikatowych scenariuszach niektóre organizacje modyfikują pakiety oprogramowania open source (OSS), aby rozwiązać problemy z zabezpieczeniami, zwiększyć funkcjonalność lub spełnić określone wymagania wewnętrzne, które wymagają ponownego kompilowania pakietu wewnętrznie, a nie uzyskania go bezpośrednio z repozytorium publicznego. Jeśli twoja organizacja stosuje tę praktykę, umieść nadrzędne źródło zawierające te dostosowane pakiety systemu operacyjnego przed innymi publicznymi rejestrami. Gwarantuje to, że niestandardowe wersje są używane zamiast publicznych.
Najlepsze praktyki dla właścicieli kanałów danych i wydawców pakietów
Aby upewnić się, że kanał informacyjny można łatwo skonfigurować jako nadrzędne źródło, postępuj zgodnie z następującymi najlepszymi rozwiązaniami:
Użyj widoku domyślnego
Wszystkie nowo utworzone kanały informacyjne domyślnie używają @Local widoku. Ten widok obejmuje:
- Pakiety publikowane bezpośrednio do kanału informacyjnego.
- Pakiety zapisane z nadrzędnych źródeł.
Jeśli chcesz użyć innych widoków, takich jak widok dla nowo wydanych wersji pakietów, możesz przenieść pakiety do widoku @Release, a następnie udostępnić ten widok docelowym odbiorcom. Aby uzyskać więcej informacji, zobacz widoki kanału informacyjnego.
Konstruowanie grafu pakietu
Aby utworzyć graf pakietu, po prostu połącz się z domyślnym widokiem kanału informacyjnego i zainstaluj pakiet, który chcesz udostępnić. Po zapisaniu pakietu w widoku domyślnym użytkownicy, którzy chcą go używać, będą mogli rozpoznać graf pakietu i zainstalować żądaną wersję. Pakiety ze źródeł nadrzędnych są wyświetlane na podstawie skonfigurowanego widoku dla odpowiedniego nadrzędnego źródła. Aby uzyskać więcej informacji, zobacz Jak upstreamy budują zestaw dostępnych pakietów.
Kolejność wyszukiwania
W przypadku publicznych menedżerów pakietów obsługujących wiele kanałów, takich jak NuGet i Maven, kolejność przeszukiwania kanałów może czasami być niejasna lub niedeterministyczna. Na przykład NuGet wysyła zapytania równoległe do wszystkich źródeł w pliku konfiguracji i przetwarza odpowiedzi w sposób "pierwsze przyszło, pierwsze wyszło" (FIFO), co może prowadzić do niespójnych wyników.
Źródła nadrzędne w usłudze Azure Artifacts eliminują tę niepewność, wymuszając ustrukturyzowaną kolejność wyszukiwania, przeszukując źródło danych (feed) i jego źródła nadrzędne w następującej kolejności:
Pakiety opublikowane bezpośrednio do kanału informacyjnego.
Pakiety, które zostały zachowane ze źródła nadrzędnego.
Pakiety dostępne ze źródeł nadrzędnych. Każde źródło nadrzędne jest przeszukiwane w kolejności, w jakiej znajduje się w konfiguracji kanału informacyjnego.
Uwaga
Usługa Azure Artifacts nie obsługuje wyszukiwania pakietów w źródłach nadrzędnych przy użyciu Eksploratora pakietów NuGet w programie Visual Studio.
Zapisywanie pakietów ze źródeł nadrzędnych
Po włączeniu źródła nadrzędnego w kanale informacyjnym usługa Azure Artifacts automatycznie zapisuje kopię dowolnego pakietu zainstalowanego przez współpracownika lub wyższego źródła z tego nadrzędnego źródła.
Na przykład pakiety można instalować bezpośrednio ze źródła nadrzędnego przy użyciu polecenia takiego jak npm install express. Alternatywnie pakiety mogą być instalowane w ramach rozwiązywania zależności, więc zainstalowanie express spowoduje również zapisanie jego zależności, takich jak accepts.
Źródła nadrzędne oferują krytyczne zabezpieczenie dla użytkowników i infrastruktury. Jeśli rejestr publiczny jest niedostępny z powodu przestoju, konserwacji lub innej tymczasowej niedostępności, nadal możesz pobrać niezbędne pakiety z kanału i kontynuować rozwój oprogramowania.
Uwaga
Niestandardowe źródła nadrzędne są obsługiwane tylko w przypadku pakietów npm.
Nadpisywanie pakietów ze źródeł nadrzędnych
Jeśli źródła nadrzędne są włączone w kanale informacyjnym, nie można opublikować wersji pakietu, która już istnieje w jednym z tych nadrzędnych źródeł. Jeśli na przykład włączono źródło zewnętrzne NuGet.org, nie będzie można opublikować Newtonsoft.Json 10.0.3 w swoim kanale, ponieważ ta wersja jest już dostępna w NuGet.org.
Aby zastąpić wersję pakietu ze źródła nadrzędnego:
Wyłącz odpowiednie źródło nadrzędne.
Opublikuj żądaną wersję pakietu w repozytorium.
Ponownie włącz nadrzędne źródło.
Ten przepływ pracy zapewnia, że można opublikować żądaną wersję przy zachowaniu integralności nadrzędnych źródeł.
Uwaga
Wersje pakietów są niezmienne. Zapisane pakiety pozostają w kanale, nawet jeśli źródło nadrzędne jest wyłączone lub usunięte.
Stan kondycji nadrzędnych źródeł
Jeśli źródło danych ulega awarii, metadane pakietów używających tym samym protokołem przestają być odświeżane. Aby sprawdzić stan kondycji nadrzędnych źródeł, wykonaj następujące kroki:
Zaloguj się do organizacji usługi Azure DevOps i przejdź do projektu.
Wybierz Artefakty, a następnie wybierz swój kanał informacyjny z menu rozwijanego.
Wybierz
, aby otworzyć ustawienia kanału, a następnie wybierz pozycję Źródła nadrzędne.
Jeśli wystąpią jakiekolwiek błędy, zostanie wyświetlony komunikat ostrzegawczy. Wybierz stan Niepowodzenie , aby wyświetlić szczegółowe informacje, w tym przyczynę niepowodzenia i kroki jego rozwiązania.
Uwaga
W przypadku rejestrów publicznych, takich jak NuGet.org, zwykle występuje 3–6-godzinne opóźnienie między wypchnięciem pakietu do rejestru publicznego i udostępnieniem go do pobrania. To opóźnienie zależy od terminów zadania i przekazywania danych. Jednak gdy źródło nadrzędne jest źródłem danych usługi Azure Artifacts, opóźnienie zwykle trwa nie dłużej niż kilka minut.