Freigeben über


Verwenden von Upstreamquellen in einem öffentlichen Feed

Azure DevOps Services

Mit Azure Artifacts können Entwickler ihre Abhängigkeiten aus einem einzigen Feed verwalten. Mithilfe von Upstreamquellen können Sie Pakete aus Feeds und öffentlichen Registrierungen wie NuGet.org und npmjs.com nutzen. In diesem Artikel lernen Sie Folgendes:

  • Erstellen eines öffentlichen Feeds
  • Aktivieren von Upstreamquellen
  • Hinzufügen einer neuen Upstreamquelle

Voraussetzungen

Erstellen eines öffentlichen Feeds

Ein öffentlicher Feed ist ein projektbezogener Feed in einem öffentlichen Projekt. Öffentliche Feeds erben die Sichtbarkeitseinstellungen des Hostingprojekts.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und wählen Sie dann Ihr öffentliches Projekt aus.

  2. Wählen Sie Artefakte und dann Ihren Feed erstellen aus.

    Screenshot der Schaltfläche

  3. Geben Sie Ihrem Feed einen Namen, und wählen Sie dann Project: PublicProject (Empfohlen) für den Bereich aus.

    Screenshot, der zeigt, wie ein neuer öffentlicher Feed erstellt wird.

  4. Wählen Sie Erstellen, wenn Sie fertig sind.

Wichtig

Öffentliche Feeds unterstützen keine Upstreams zu einem privaten Artefaktefeed. Wenn Sie einen öffentlichen Azure Artifacts-Feed verwenden, können Sie nur vorgelagerte Registrierungen (NuGet.org, npmjs) oder andere öffentliche Azure Artifacts-Feeds verwenden.

Hinzufügen einer Upstreamquelle

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und wählen Sie dann Ihr öffentliches Projekt aus.

  2. Wählen Sie Artefakte und dann Ihren öffentlichen Feed aus.

  3. Wählen Sie das Zahnradsymbol Zahnradsymbolschaltfläche Zahnradsymbol aus aus, um auf Ihre Feedeinstellungen zuzugreifen.

  4. Wählen Sie Upstreamquellen und dann Upstream hinzufügen aus.

    Screenshot, der zeigt, wie Sie eine Upstreamquelle in einem öffentlichen Feed hinzufügen.

  5. Wählen Sie den Upstream-Quelltyp aus. In diesem Beispiel fügen wir NuGet.org als Upstreamquelle hinzu.

    Screenshot der verschiedenen Typen von Upstreamquellen.

  6. Konfigurieren Sie Ihre Quelle, und wählen Sie dann "Hinzufügen" aus, wenn Sie fertig sind.

    Screenshot, der zeigt, wie Sie Ihre Upstreamquelle konfigurieren.

  7. Wählen Sie " Speichern" aus, um Ihre neue Upstreamquelle zu speichern.

    Screenshot, der zeigt, wie die neu hinzugefügte Upstreamquelle gespeichert wird.

Wichtig

Paketsperrdateien sind erforderlich, um NuGet- und Dotnet-Pakete aus upstream-Quellen in einem öffentlichen Feed zu speichern.

Pakete wiederherstellen

Führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus, um Ihre Pakete wiederherzustellen:

nuget.exe restore

Hinweis

Sie müssen feed and Upstream Reader (Collaborator) oder höher sein, um neue Paketversionen von upstream zu installieren. Anonyme Benutzer können nur Pakete installieren, die in ihrem Feed vorhanden sind.

Fragen und Antworten

F: Ich versuche, meine Pakete wiederherzustellen, aber ich erhalte weiterhin einen nicht autorisierten Fehler von 401?

Der Inhalt eines Feeds kann nur von einer authentifizierten und autorisierten Identität geändert werden, die über entsprechende Berechtigungen für den Feed verfügt. Dies schließt das Speichern von Paketen in den Feed aus einer Upstreamquelle ein. Nicht authentifizierte (anonyme) Benutzer können pakete herunterladen, die bereits in einem Feed gespeichert wurden , aber keine neuen Pakete aus einem Upstream im Feed speichern.

Die Betreuer eines Projekts sollten alle erforderlichen Versionen von Paketen im öffentlichen Feed speichern. Dies kann durch Wiederherstellen eines Projekts mithilfe einer Identität erfolgen, die anmeldeinformationen für den Feed bereitstellen kann, wenn Sie dazu aufgefordert werden, und sicherstellen, dass die verwendete Identität Feed und Upstream Reader (Mitarbeiter) oder höhere Berechtigungen für den öffentlichen Feed hat.

Wenn anonyme Benutzer, die Pakete für ein Projekt wiederherstellen, wiederholt durch Anforderungen für Anmeldeinformationen blockiert werden (Antwort 401), verringern oder beseitigen die folgenden Ansätze das Problem:

  1. Vermeiden Sie die Verwendung von Paketversionsbereichen in Der Projektkonfiguration. Explizite Paketversionen stellen sicher, dass die Verpackung von Clients nur die genaue erforderliche Version anfordert.

  2. Verwenden Sie, sofern unterstützt, Sperrdateien für Ihr Verpackungsökosystem, damit die Verpackungsclients während eines Wiederherstellungs-/Installationsvorgangs nur die spezifischen Versionen anfordern, die für das Projekt erforderlich sind.

F: Ich versuche, meine Pakete mit Visual Studio wiederherzustellen, aber ich bemerke, dass sie von einer anderen Quelle abgerufen werden?

A: Stellen Sie sicher, dass Visual Studio die Quelle verwendet, auf die in der Datei "nuget.config " verwiesen wird, und nicht über den lokalen NuGet-Paket-Manager. Weitere Informationen finden Sie unter "Paketquellen ".

Sie können nuGet CLI auch verwenden, um NuGet zu erzwingen, die Quelle in Ihrer Konfigurationsdatei zu verwenden, indem Sie den folgenden Befehl ausführen:

nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>