Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Azure Artifacts upstream-Quellen ermöglichen Entwicklern das Speichern von Paketen aus verschiedenen Ursprüngen in einem einzigen Feed, einschließlich der Pakete, die im Feed veröffentlicht wurden, und die aus öffentlichen Registrierungen wie NuGet.org oder npmjs.com installiert wurden. Sobald upstream-Quellen aktiviert sind, werden alle pakete, die aus einer Upstreamquelle installiert wurden, automatisch in Ihrem Feed gespeichert.
Hinweis
Um Pakete von Upstreams zu speichern, müssen Sie über die Rolle Feed und Upstream Reader (Mitarbeiter) oder höher verfügen. Weitere Details finden Sie unter Feedrollen und Berechtigungen .
Gründe für die Verwendung von Upstreamquellen
Das Aktivieren von Upstreamquellen bietet mehrere Vorteile für die Verwaltung der Abhängigkeiten Ihres Produkts in einem einzigen Feed:
Einfachheit: Das Speichern aller Pakete in einem einzigen Feed vereinfacht Ihre Konfigurationsdateien wie NuGet.config, npmrc oder settings.xml. Mit nur einem Feed in Ihrer Konfigurationsdatei reduzieren Sie die Setupkomplexität und minimieren Fehler.
Konsistente Builds: Ihr Feed löst Paketanforderungen in einer definierten Reihenfolge auf, um vorhersehbare und zuverlässige Builds in allen Umgebungen sicherzustellen.
Paketintegrität: Ihr Feed behält Metadaten zu Paketen bei, die aus upstream-Quellen gespeichert wurden, sodass Sie ihre Authentizität überprüfen und sicherstellen können, dass Sie die originalen Versionen verwenden, nicht Kopien oder potenziell schädliche Versionen.
Zuverlässigkeit: Pakete, die aus Upstreamquellen installiert wurden, werden automatisch in Ihrem Feed gespeichert. Dadurch wird der fortgesetzte Zugriff sichergestellt, auch wenn die upstream-Quelle aufgrund von Wartungs- oder anderen Problemen vorübergehend nicht verfügbar ist, damit Sie sich weiter entwickeln und mit Vertrauen aufbauen können.
Bewährte Methoden für Paketanwender
Befolgen Sie die folgenden bewährten Methoden, um die Vorteile von Upstreamquellen als Paketverbraucher optimal nutzen zu können:
Verwenden eines einzelnen Feeds in Ihrer Konfigurationsdatei
Damit Ihr Feed eine deterministische Wiederherstellung bereitstellt, stellen Sie sicher, dass Ihre Konfigurationsdatei (z. B. nuget.config oder npmrc) nur auf einen Feed verweist, für den upstream-Quellen aktiviert sind.
Beispiele:
registry=https://pkgs.dev.azure.com/fabrikam/_packaging/FabrikamFiber/npm/registry/ always-auth=true<packageSources> <clear /> <add key="FabrikamFiber" value="https://pkgs.dev.azure.com/fabrikam/_packaging/FabrikamFiber/nuget/v3/index.json" /> </packageSources>Hinweis
NuGet kompiliert mehrere Konfigurationsdateien , um den vollständigen Satz der anzuwendenden Optionen zu ermitteln. Durch die Verwendung von
<clear />wird sichergestellt, dass alle anderen Paketquellen, die in Konfigurationsdateien höherer Ebene angegeben sind, ignoriert werden.
Ordnen Sie Ihre upstream-Quellen absichtlich an
Wenn Sie nur öffentliche Registrierungen wie NuGet.org oder npmjs.com verwenden, wirkt sich die Reihenfolge der upstream-Quellen nicht auf das Verhalten aus. Anfragen an den Feed folgen der in Abschnitt beschriebenen Suchreihenfolge.
Wenn Sie jedoch mehrere Quellen verwalten, z. B. eine Kombination aus Feeds und öffentlichen Registrierungen, wird jede Upstreamquelle in der Reihenfolge durchsucht, die in den Konfigurationseinstellungen des Feeds definiert ist. In diesen Fällen empfehlen wir, die öffentlichen Register zuerst in der Liste der vorgelagerten Quellen zu platzieren.
In einigen einzigartigen Szenarien ändern einige Organisationen Open-Source-Softwarepakete (OSS), um Sicherheitsbedenken zu beheben, Funktionen zu verbessern oder bestimmte interne Anforderungen zu erfüllen, die eine interne Neuerstellung des Pakets erfordern, anstatt es direkt aus einem öffentlichen Repository zu erhalten. Wenn Ihre Organisation diese Vorgehensweise befolgt, platzieren Sie die Upstreamquelle, die diese angepassten OSS-Pakete enthält, vor anderen öffentlichen Registrierungen. Dadurch wird sichergestellt, dass Ihre angepassten Versionen anstelle der öffentlichen Versionen verwendet werden.
Bewährte Methoden für Feedbesitzer und Paketverleger
Um sicherzustellen, dass Ihr Feed einfach als Upstreamquelle konfiguriert werden kann, befolgen Sie die folgenden bewährten Methoden:
Verwenden der Standardansicht
Alle neu erstellten Feeds verwenden standardmäßig die @Local Ansicht. Diese Ansicht umfasst:
- Pakete, die direkt im Feed veröffentlicht wurden.
- Pakete, die aus upstream-Quellen gespeichert wurden.
Wenn Sie andere Ansichten wie z. B. eine Ansicht für neu veröffentlichte Paketversionen verwenden möchten, können Sie Ihre Pakete in die ansicht @Release höher stufen und diese Ansicht ihren Zielkunden zur Verfügung stellen. Ausführliche Informationen finden Sie unter Feedansichten.
Erstellen eines Paketdiagramms
Um ein Paketdiagramm zu erstellen, stellen Sie einfach eine Verbindung mit der Standardansicht des Feeds her, und installieren Sie das Paket, das Sie freigeben möchten. Nachdem ein Paket in der Standardansicht gespeichert wurde, können Benutzer, die es nutzen möchten, das Paketdiagramm auflösen und die gewünschte Version installieren. Pakete aus Upstreamquellen werden basierend auf der konfigurierten Ansicht für die entsprechende Upstreamquelle angezeigt. Weitere Informationen finden Sie unter Wie Upstreams das Set der verfügbaren Pakete erstellen.
Suchreihenfolge
Bei öffentlichen Paketmanagern, die mehrere Feeds unterstützen, z. B. NuGet und Maven, kann die Reihenfolge, in der Feeds abgefragt werden, manchmal unklar oder nicht deterministisch sein. NuGet verschickt z. B. parallele Anfragen an alle Feeds in der Konfigurationsdatei und verarbeitet die Antworten nach dem First-in-First-out-Prinzip (FIFO), was zu inkonsistenten Ergebnissen führen kann.
Azure Artifacts upstream-Quellen beseitigen diese Unsicherheit, indem sie eine strukturierte Suchreihenfolge erzwingen, indem Sie den Feed und die upstream-Quellen in der folgenden Reihenfolge durchsuchen:
Pakete, die direkt im Feed veröffentlicht wurden.
Pakete, die aus einer Upstreamquelle gespeichert wurden.
Pakete, die aus upstream-Quellen verfügbar sind. Jede Upstreamquelle wird in der Reihenfolge durchsucht, in der sie in der Konfiguration des Feeds aufgeführt ist.
Hinweis
Azure Artifacts unterstützt die Suche nach Paketen in Upstreamquellen nicht mithilfe des NuGet-Paket-Explorers in Visual Studio.
Speichern von Paketen aus Upstreamquellen
Wenn eine Upstreamquelle in Ihrem Feed aktiviert ist, speichert Azure Artifacts automatisch eine Kopie eines Pakets, das von einem Mitarbeiter oder höher aus dieser Upstreamquelle installiert wurde.
Beispielsweise können Sie Pakete direkt aus der Upstreamquelle mithilfe eines Befehls wie npm install express installieren. Alternativ können Pakete als Teil der Abhängigkeitsauflösung installiert werden, sodass die Installation von Express auch die Abhängigkeiten speichern würde, z. B. "Akzeptiert".
Upstream-Quellen bieten einen kritischen Schutz für Ihre Verbraucher und Infrastruktur. Wenn die öffentliche Registrierung Ausfallzeiten hat, gewartet wird oder vorübergehend nicht verfügbar wird, können Sie die erforderlichen Pakete trotzdem aus Ihrem Feed abrufen und die Entwicklung fortsetzen.
Hinweis
Benutzerdefinierte Upstreamquellen werden nur für npm-Pakete unterstützt.
Überschreiben von Paketen aus Upstreamquellen
Wenn Upstreamquellen in Ihrem Feed aktiviert sind, können Sie keine Paketversion veröffentlichen, die bereits in einer dieser upstream-Quellen vorhanden ist. Wenn beispielsweise die NuGet.org upstream aktiviert ist, können Sie Newtonsoft.Json 10.0.3 nicht in Ihrem Feed veröffentlichen, da diese Version bereits auf NuGet.org verfügbar ist.
So setzen Sie eine Paketversion aus einer übergeordneten Quelle außer Kraft:
Deaktivieren Sie die relevante Upstreamquelle.
Veröffentlichen Sie Die gewünschte Paketversion im Feed.
Aktivieren Sie die Upstreamquelle erneut.
Dieser Workflow stellt sicher, dass Sie die gewünschte Version veröffentlichen können, während die Integrität Ihrer upstream-Quellen beibehalten wird.
Hinweis
Paketversionen sind unveränderlich. Gespeicherte Pakete verbleiben im Feed, auch wenn die Upstreamquelle deaktiviert oder entfernt wird.
Gesundheitsstatus der Upstream-Quellen
Wenn ein Feed über eine fehlerhafte Upstreamquelle verfügt, können Metadaten für Pakete, die dasselbe Protokoll verwenden, nicht mehr aktualisiert werden. Führen Sie die folgenden Schritte aus, um den Integritätsstatus Ihrer Upstreamquellen zu überprüfen:
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie zu Ihrem Projekt.
Wählen Sie Artefakte aus, und wählen Sie dann Ihren Feed aus dem Dropdownmenü aus.
Wählen Sie das
aus, um Feed-Einstellungen zu öffnen, und wählen Sie dann Upstreamquellen aus.
Wenn Fehler auftreten, wird eine Warnmeldung angezeigt. Wählen Sie den Status "Fehler" aus, um detaillierte Informationen anzuzeigen, einschließlich der Ursache des Fehlers und der Schritte zum Beheben.
Hinweis
Für öffentliche Registrierungen wie NuGet.org gibt es in der Regel eine Verzögerung von 3 bis 6 Stunden zwischen dem Push eines Pakets an die öffentliche Registrierung und wann es zum Download verfügbar wird. Diese Verzögerung hängt vom Auftragszeitpunkt und der Datenweitergabe ab. Wenn die Upstreamquelle jedoch ein Azure Artifacts-Feed ist, beträgt die Latenz in der Regel nicht mehr als ein paar Minuten.