Använda överordnade källor i ett offentligt flöde
Med Azure Artifacts kan utvecklare hantera sina beroenden från en enda feed. Med hjälp av överordnade källor kan du använda paket från feeds och offentliga register, till exempel NuGet.org och npmjs.com. I den här artikeln får du lära dig att:
- Skapa ett offentligt flöde
- Aktivera överordnade källor
- Lägga till en ny uppströmskälla
Förutsättningar
En Azure DevOps-organisation. Skapa en organisation om du inte redan har en.
Ett Azure DevOps-projekt. Skapa ett nytt projekt om du inte redan har ett.
Ange projektets synlighet till offentlig.
Skapa ett offentligt flöde
Ett offentligt flöde är ett flöde med projektomfattning i ett offentligt projekt. Offentliga feeds ärver synlighetsinställningarna för värdprojektet.
Logga in på din Azure DevOps-organisation och välj sedan ditt offentliga projekt.
Välj Artefakter och välj sedan Skapa feed.
Ge feeden ett namn och välj sedan Project: PublicProject (rekommenderas) för dess omfång.
Välj Skapa när du är klar.
Viktigt!
Offentliga feeds stöder inte uppströms till en privat Artefaktfeed. Om du använder ett offentligt Azure Artifacts-flöde kan du bara uppströms till offentliga register (NuGet.org, npmjs) eller andra offentliga Azure Artifacts-feeds.
Lägga till en uppströmskälla
Logga in på din Azure DevOps-organisation och välj sedan ditt offentliga projekt.
Välj Artefakter och välj sedan ditt offentliga flöde.
Välj kugghjulsikonen för att komma åt feedinställningarna.
Välj Överordnade källor och välj sedan Lägg till uppströms.
Välj din överordnade källtyp. I det här exemplet lägger vi till NuGet.org som en uppströmskälla.
Konfigurera källan och välj sedan Lägg till när du är klar.
Välj Spara för att spara din nya överordnade källa.
Viktigt!
Paketlåsfiler krävs för att spara NuGet- och Dotnet-paket från överordnade källor till ett offentligt flöde.
Återställa paket
Kör följande kommando i projektkatalogen för att återställa paketen:
Kommentar
Du måste vara en feed och uppströmsläsare (samarbetspartner) eller senare för att kunna installera nya paketversioner från överordnad. Anonyma användare kan bara installera paket som finns i feeden.
Frågor och svar
F: Jag försöker återställa mina paket, men jag får hela tiden ett 401-fel utan behörighet?
Innehållet i ett flöde kan bara ändras av en autentiserad och auktoriserad identitet som har rätt behörighet för flödet. Detta inkluderar att spara paket i flödet från en uppströmskälla. Oautentiserade (anonyma) användare kan ladda ned paket som redan har sparats i ett flöde, men kan inte spara nya paket från en uppströms i flödet.
Projektansvariga bör spara alla nödvändiga versioner av paket i det offentliga flödet. Detta kan göras genom att återställa ett projekt med hjälp av en identitet som kan ange autentiseringsuppgifter till flödet när du uppmanas till det, och se till att den identitet som används har feed- och upstream-läsare (samarbetspartner) eller högre behörigheter i det offentliga flödet.
Om anonyma användare som återställer paket för ett projekt upprepade gånger blockeras av begäranden om autentiseringsuppgifter (401-svar) minskar eller eliminerar följande metoder problemet:
Undvik att använda paketversionsintervall i projektkonfigurationen. Explicita paketversioner säkerställer att paketeringsklienter endast begär den exakta version som behövs.
Där det stöds kan du använda låsfiler för ditt paketeringsekosystem så att paketeringsklienterna endast begär de specifika versioner som behövs för projektet under en återställnings-/installationsåtgärd.
F: Jag försöker återställa mina paket med Visual Studio, men jag märker att de hämtas från en annan källa?
S: Kontrollera att Visual Studio använder den källa som refereras i nuget.config-filen och inte från den lokala NuGet-pakethanteraren. Mer information finns i Paketkällor .
Du kan också använda NuGet CLI för att tvinga NuGet att använda källan i konfigurationsfilen genom att köra följande kommando:
nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>