Share via


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

Viktigt!

Paketlåsfiler hjälper till med reproducerbara versioner och minimerar scenarierna där en anonym användare uppmanas att ange autentiseringsuppgifter när de använder offentliga feeds.

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.

  1. Logga in på din Azure DevOps-organisation och välj sedan ditt offentliga projekt.

  2. Välj Artefakter och välj sedan Skapa feed.

    En skärmbild som visar knappen skapa feed i Azure Artifacts.

  3. Ge feeden ett namn och välj sedan Project: PublicProject (rekommenderas) för dess omfång.

    En skärmbild som visar hur du skapar ett nytt offentligt flöde.

  4. Välj Skapa när du är klar.

Lägga till en uppströmskälla

  1. Logga in på din Azure DevOps-organisation och välj sedan ditt offentliga projekt.

  2. Välj Artefakter och välj sedan ditt offentliga flöde.

  3. Välj kugghjulsikonen kugghjulsikon för att komma åt feed-Inställningar.

  4. Välj Överordnade källor och välj sedan Lägg till uppströms.

    En skärmbild som visar hur du lägger till en uppströmskälla i ett offentligt flöde.

  5. Välj din överordnade källtyp. I det här exemplet lägger vi till NuGet.org som en uppströmskälla.

    En skärmbild som visar de olika typerna av överordnade källor.

  6. Konfigurera källan och välj sedan Spara när du är klar.

    En skärmbild som visar hur du konfigurerar din överordnade källa.

  7. Välj Spara för att spara din nya överordnade källa.

    En skärmbild som visar hur du sparar den nyligen tillagda överordnade källan.

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.

Återställa paket

Kör följande kommando i en upphöjd kommandotolk:

nuget.exe restore

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.

Q&A

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:

  1. Undvik att använda paketversionsintervall i projektkonfigurationen. Explicita paketversioner säkerställer att paketeringsklienter endast begär den exakta version som behövs.

  2. 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>