Použití upstreamových zdrojů ve veřejném informačním kanálu
Azure Artifacts umožňuje vývojářům spravovat jejich závislosti z jednoho informačního kanálu. Pomocí upstreamových zdrojů můžete využívat balíčky z informačních kanálů a veřejných registrů, jako jsou NuGet.org, a npmjs.com. V tomto článku se naučíte:
- Vytvoření veřejného informačního kanálu
- Povolení upstreamových zdrojů
- Přidání nového upstreamového zdroje
Požadavky
Organizace Azure DevOps. Vytvořte organizaci, pokud ji ještě nemáte.
Projekt Azure DevOps. Pokud ho ještě nemáte, vytvořte nový projekt .
Nastavte viditelnost projektu na veřejné.
Vytvoření veřejného informačního kanálu
Veřejný informační kanál je informační kanál v oboru projektu ve veřejném projektu. Veřejné informační kanály dědí nastavení viditelnosti hostitelského projektu.
Přihlaste se ke své organizaci Azure DevOps a vyberte svůj veřejný projekt.
Vyberte Artefakty a pak vyberte Vytvořit informační kanál.
Zadejte název informačního kanálu a pak jako obor vyberte Project: PublicProject (doporučeno).
Až budete hotovi, vyberte Vytvořit .
Důležité
Veřejné informační kanály nepodporují upstreamování do privátního informačního kanálu Artifacts. Pokud používáte veřejný informační kanál Azure Artifacts, můžete upstreamovat jenom veřejné registry (NuGet.org, npmjs) nebo jiné veřejné informační kanály Azure Artifacts.
Přidání nadřazeného zdroje
Přihlaste se ke své organizaci Azure DevOps a vyberte svůj veřejný projekt.
Vyberte Artefakty a pak vyberte veřejný informační kanál.
Výběrem ikony ozubeného kolečka získáte přístup k nastavení informačního kanálu.
Vyberte upstreamové zdroje a pak vyberte Přidat upstream.
Vyberte typ nadřazeného zdroje. V tomto příkladu přidáme NuGet.org jako nadřazený zdroj.
Nakonfigurujte zdroj a po dokončení vyberte Přidat .
Výběrem možnosti Uložit uložte nový nadřazený zdroj.
Důležité
Soubory uzamčení balíčků se vyžadují k uložení balíčků NuGet a Dotnet z upstreamových zdrojů do veřejného informačního kanálu.
Obnovení balíčků
Spuštěním následujícího příkazu v adresáři projektu obnovte balíčky:
Poznámka:
Abyste mohli nainstalovat nové verze balíčků z upstreamu , musíte být informační kanál a upstreamová čtečka (spolupracovníci) nebo vyšší. Anonymní uživatelé mohou instalovat pouze balíčky, které existují ve svém informačním kanálu.
Q&A
Otázka: Pokouším se obnovit své balíčky, ale stále dochází k chybě 401 neautorizováno?
Obsah informačního kanálu může změnit jenom ověřená a autorizovaná identita, která má příslušná oprávnění k informačnímu kanálu. To zahrnuje ukládání balíčků do informačního kanálu z upstreamového zdroje. Neověřené (anonymní) uživatelé můžou stahovat balíčky, které jsou už uložené v informačním kanálu, ale nemůžou ukládat nové balíčky z upstreamu do informačního kanálu.
Správci projektu by měli uložit všechny potřebné verze balíčků do veřejného informačního kanálu. To lze provést obnovením projektu pomocí identity, která může v informačním kanálu po zobrazení výzvy zadat přihlašovací údaje a zajistit, že použitá identita má pro veřejný informační kanál oprávnění Informační kanál a Upstream Reader (Spolupracovníci) nebo vyšší oprávnění.
Pokud jsou anonymní uživatelé, kteří obnovují balíčky pro projekt, opakovaně blokují požadavky na přihlašovací údaje (odpověď 401), následující přístupy tento problém sníží nebo odstraní:
V konfiguraci projektu nepoužívejte rozsahy verzí balíčků. Explicitní verze balíčků zajistí, aby klienti balení požadovali jenom přesnou verzi.
V případě podpory využijte soubory zámků pro váš ekosystém balení, aby klienti balení požadovali pouze konkrétní verze potřebné pro projekt během operace obnovení/instalace.
Otázka: Pokouším se obnovit balíčky pomocí sady Visual Studio, ale myslím, že se získávají z jiného zdroje?
A: Ujistěte se, že Visual Studio používá zdroj odkazovaný v souboru nuget.config , a ne z místního správce balíčků NuGet. Další podrobnosti najdete v tématu Zdroje balíčků.
Pomocí rozhraní příkazového řádku NuGet můžete také vynutit použití zdroje v konfiguračním souboru spuštěním následujícího příkazu:
nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>