Freigeben über


PowerShell-Katalog Upstreamquelle

Die Aktivierung von Upstreamquellen für Ihren Feed erweitert den Zugriff Ihrer Entwickler auf Pakete aus öffentlichen Registrierungen. In diesem Artikel erfahren Sie, wie Sie die PowerShell-Katalog als Upstreamquelle einrichten und PowerShell-Pakete aus der öffentlichen Registrierung nutzen.

Voraussetzungen

Wenn die PowerShell-Katalog upstream-Quelle in Ihrem Feed standardmäßig nicht verfügbar ist, können Sie sie wie folgt hinzufügen:

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.

  3. Wählen Sie die Zahnradsymbolschaltfläche Zahnradsymbolschaltfläche Zahnradsymbol aus aus, um zu Ihrem Feed Einstellungen zu navigieren.

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

    Screenshot, der zeigt, wie eine neue Upstreamquelle hinzugefügt wird.

  5. Wählen Sie "Öffentliche Quelle" und dann im Dropdownmenü PowerShell-Katalog aus. Wählen Sie Speichern aus, wenn Sie fertig sind.

    Screenshot, der zeigt, wie sie die PowerShell-Katalog als Upstreamquelle hinzufügen.

  6. Wählen Sie "Speichern" in der oberen rechten Ecke aus, um Ihre Änderungen zu speichern. Wählen Sie " Speichern" erneut aus, wenn Sie aufgefordert werden, Ihre Auswahl zu bestätigen.

Verbindung mit Feed herstellen

  1. Erstellen Sie ein persönliches Zugriffstoken mit Lese- und Schreibberechtigungen für das Verpacken>.

  2. Führen Sie die folgenden Befehle in einem PowerShell-Eingabeaufforderungsfenster aus, und ersetzen Sie die Platzhalter durch die entsprechenden Informationen:

    $patToken = "<YOUR_PERSONAL_ACCESS_TOKEN>" | ConvertTo-SecureString -AsPlainText -Force
    
    $myCredentialsObject = New-Object System.Management.Automation.PSCredential("<USER_NAME>", $patToken)
    
  3. Führen Sie den folgenden Befehl aus, um Ihren Feed als PSRepository zu registrieren. Ersetzen Sie die Platzhalter durch die entsprechenden Werte:

    • Projektbezogener Feed:

      Register-PSRepository -Name "PSGalleryUpstream" -SourceLocation "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2" -PublishLocation "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2" -InstallationPolicy Trusted -Credential $myCredentialsObject
      
    • Organisationsbereichsfeed:

      Register-PSRepository -Name "PSGalleryUpstream" -SourceLocation "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2" -PublishLocation "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2" -InstallationPolicy Trusted -Credential $myCredentialsObject
      

Speichern von Paketen aus upstream

Nachdem Sie nun die PowerShell-Katalog als Upstreamquelle hinzugefügt und Ihren Feed als PSRepository registriert haben, wird jedes Mal, wenn Sie ein Paket aus upstream installieren, eine Kopie in Ihrem Feed gespeichert. Im folgenden Beispiel installieren wir das PSScriptAnalyzer-Modul :

Install-Module -Name PSScriptAnalyzer -Repository PSGalleryUpstream

Hinweis

Um Pakete vor dem Upstream zu speichern, müssen Sie über die Rolle " Feed" und "Upstream Reader" (Mitarbeiter) oder höher verfügen. Weitere Informationen finden Sie unter "Berechtigungen verwalten" .

Anzeigen gespeicherter Pakete

Sie können auf die Pakete zugreifen, die Sie aus dem PowerShell-Katalog gespeichert haben, indem Sie im Dropdownmenü die entsprechende Quelle auswählen.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.

  3. Wählen Sie "Quelle" auf der rechten Seite aus, und wählen Sie dann PowerShell-Katalog aus, um nach Paketen zu filtern, die von upstream gespeichert wurden. Sie können sehen, dass das PSScriptAnalyzer-Paket , das wir im vorherigen Schritt installiert haben, in unserem Feed gespeichert wurde.

    Screenshot mit Paketen, die aus dem Upstream in einem Azure Artifacts-Feed gespeichert wurden.