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 scentralizowanie zarządzania pakietami, korzystając z pojedynczego kanału do przechowywania zarówno opublikowanych pakietów, jak i tych pobieranych z publicznych rejestrów, takich jak NuGet.org.
Źródła nadrzędne oferują kilka zalet zarządzania zależnościami, w tym prostoty, niezawodności i integralności pakietów. Zobacz Co to są źródła nadrzędne?, aby uzyskać więcej informacji.
Zezwalaj na wersje pochodzące z zewnętrznych źródeł
Ta funkcja umożliwia deweloperom kontrolowanie, czy chcą korzystać z wersji pakietów z publicznych rejestrów, takich jak NuGet.org czy npmjs.com.
Po włączeniu przełącznika Zezwalaj na wersje zewnętrzne dla określonego pakietu wersje z rejestru publicznego staną się dostępne do zapisania w kanale informacyjnym. Domyślnie ta opcja jest wyłączona, dodając dodatkową warstwę zabezpieczeń, zmniejszając narażenie na potencjalnie złośliwe pakiety z publicznych rejestrów. Zmiana tego ustawienia nie ma wpływu na wersje pakietów, które zostały już zapisane w repozytorium. Te wersje pozostają dostępne niezależnie od tego ustawienia. Musisz być właścicielem kanału danych , aby włączyć funkcję pozwalającą na zewnętrznie źródłowe wersje.
Zezwalaj na wersje zewnętrzne dla pakietu
Aby włączyć korzystanie z wersji zewnętrznych dla określonego pakietu, wykonaj następujące kroki:
Uwaga
Aby zezwolić na zewnętrzne wersje, musisz być Właścicielem Kanału.
Zaloguj się do usługi Azure DevOps, a następnie przejdź do projektu.
Wybierz Artefakty, a następnie wybierz swój kanał informacyjny z menu rozwijanego.
Wybierz pakiet, wybierz przycisk z wielokropkiem, aby uzyskać więcej opcji, a następnie wybierz pozycję Zezwalaj na wersje pochodzące z zewnętrznych źródeł.
Przełącz opcję Zezwalaj na wersje zewnętrzne , aby włączyć tę funkcję, a następnie wybierz pozycję Zamknij po zakończeniu.
Zezwalaj na wersje zewnętrzne przy użyciu interfejsu API REST
Aby włączyć wersje zewnętrzne dla określonego pakietu przy użyciu interfejsu API REST, użyj następujących punktów końcowych:
Zezwalaj na wersje zewnętrzne przy użyciu programu PowerShell
Aby włączyć wersje zewnętrzne dla określonego pakietu przy użyciu programu PowerShell, wykonaj następujące kroki:
Utwórz osobisty token dostępu z uprawnieniami do>odczytu, zapisu i zarządzania pakietami.
Utwórz zmienną środowiskową dla osobistego tokenu dostępu.
$env:PATVAR = "YOUR_PERSONAL_ACCESS_TOKEN"Przekonwertuj osobisty token dostępu na ciąg zakodowany w formacie Base64 i skonstruuj nagłówek żądania HTTP.
$token = [Convert]::ToBase64String(([Text.Encoding]::ASCII.GetBytes("username:$env:PatVar"))) $headers = @{ Authorization = "Basic $token" }Skonstruuj adres URL punktu końcowego na podstawie typu kanału informacyjnego:
Źródło danych o zakresie projektu:
$url = "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_apis/packaging/feeds/<FEED_NAME>/<PROTOCOL>/packages/<PACKAGE_NAME>/upstreaming?api-version=7.2-preview.1"Kanał informacyjny na potrzeby organizacji
$url = "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_apis/packaging/feeds/<FEED_NAME>/<PROTOCOL>/packages/<PACKAGE_NAME>/upstreaming?api-version=7.2-preview.1"
Uruchom polecenie z tabeli na podstawie scenariusza:
Akcja Description Command Uzyskiwanie zachowania nadrzędnego Pobierz stan działania źródłowego pakietu. Używa $urli$headersz wcześniejszych kroków.Invoke-RestMethod -Uri $url -Headers $headersKonfigurowanie zachowania nadrzędnego Zezwalaj na zewnętrznie źródłowe wersje pakietu, ustawiając wartość versionsFromExternalUpstreamsAllowExternalVersions.$body = '{"versionsFromExternalUpstreams": "AllowExternalVersions"}'
Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Patch -ContentType "application/json"Czyszczenie zachowania przekazywania zmian Zresetuj zachowanie upstream, ustawiając versionsFromExternalUpstreamsdoAuto.$body = '{"versionsFromExternalUpstreams": "Auto"}'
Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Patch -ContentType "application/json"
Uwaga
Propagacja zmian w zachowaniu nadrzędnym w usłudze może zająć trochę czasu. Jeśli pakiet nie jest dostępny po zaktualizowaniu ustawień, poczekaj do 3 godzin, aby zmiany zaczęły obowiązywać.
Odpowiednie scenariusze
W tej sekcji opisano typowe scenariusze, w których wersje zewnętrzne (pakiety z rejestrów publicznych) są blokowane lub dozwolone do zapisywania w kanale. W pozostałej części tego artykułu odwołujemy się do pakietów z publicznych rejestrów jako pakietów publicznych i pakietów przechowywanych w kanale informacyjnym usługi Azure Artifacts jako pakietach prywatnych.
Scenariusz 1. Wersje publiczne są blokowane
Publiczne wersje nie mogą być zapisywane do kanału, gdy funkcja Zezwalaj na wersje zewnętrzne jest włączona w dwóch następujących przypadkach:
Prywatna wersja pakietu została udostępniona publicznie
Jeśli pakiet prywatny zostanie później upubliczniony, kanał informacyjny zablokuje wszystkie nowe wersje o tej samej nazwie pakietu ze źródeł publicznych.
Posiadanie zarówno prywatnych, jak i publicznych pakietów
Gdy zespół korzysta zarówno z pakietów prywatnych, jak i publicznych, feed blokuje wszystkie nowe wersje pakietu z rejestru publicznego, gdy opcja zezwalania na zewnętrzne wersje jest włączona.
Scenariusz 2. Dozwolone są wersje publiczne
Publiczne wersje mogą być zapisywane w kanale, gdy funkcja Zezwalaj na wersje zewnętrzne jest włączona w następujących trzech przypadkach:
Wszystkie pakiety są prywatne
Jeśli wszystkie pakiety są prywatne, a zespół nie planuje używania pakietów publicznych, włączenie tego ustawienia nie ma wpływu na przepływ pracy zespołu.
Wszystkie pakiety są publiczne
Jeśli zespół korzysta wyłącznie z publicznych pakietów z rejestrów lub repozytoriów open source, włączenie tego ustawienia nie ma wpływu na ich przepływ pracy.
Pakiet publiczny został zmieniony na prywatny
Jeśli pakiet publiczny zostanie później przekonwertowany na prywatny, włączenie ustawienia Zezwalaj na wersje zewnętrzne nie ma wpływu na przepływ pracy zespołu.