Freigeben über


Verwenden von Paketen aus Crates.io

Azure DevOps Services | Azure DevOps Server 2022

Mit Azure Artifacts-Upstreamquellen können Entwickler Pakete aus öffentlichen Registrierungen wie Crates.io und nuget.org nutzen. Dieser Artikel führt Sie durch das Einrichten Ihres Projekts und die Verwendung der Befehlszeile zum Verwenden von Krates aus Crates.io.

In diesem Artikel erfahren Sie, wie Sie:

  • Erstellen Sie einen Azure Artifacts-Feed
  • Herstellen einer Verbindung mit Ihrem Feed
  • Verbrauch von Kisten aus vorgelagerten

Voraussetzungen

Einen Feed erstellen

Azure Artifacts empfiehlt, einen dedizierten Feed für den Verbrauch von Crates aus crates.io und einen separaten Feed ausschließlich für die Veröffentlichung interner Crates zu verwenden.

  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 erstellen aus.

  3. Geben Sie einen Namen für Ihren Feed ein, definieren Sie die Sichtbarkeit, und wählen Sie dann Ihren Bereich aus. Aktivieren Sie das Kontrollkästchen "Upstream-Quellen ", um Pakete aus öffentlichen Registern einzuschließen.

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

    Screenshot, der zeigt, wie Sie einen Feed für Die Ladung voraufwärts erstellen.

Herstellen einer Verbindung mit Ihrem Feed

  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 "Mit Feed verbinden" und dann im linken Navigationsbereich "Cargo " aus.

  4. Wenn Dies das erste Mal die Verwendung von Cargo mit Azure Artifacts ist, stellen Sie sicher, dass Sie Rostup installiert haben.

  5. Fügen Sie den bereitgestellten Codeausschnitt aus dem Project Setup-Abschnitt zu Ihrer .cargo/config.toml-Datei in Ihrem Quell-Repository hinzu:

    • Projektbezogener Feed:

      [registries]
      <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
      
      [source.crates-io]
      replace-with = "<FEED_NAME>"
      
    • Feed mit Organisationsbereich:

      [registries]
      <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
      
      [source.crates-io]
      replace-with = "<FEED_NAME>"
      
  1. Melden Sie sich bei Ihrer Azure DevOps-Sammlung an, und navigieren Sie dann zu Ihrem Projekt.

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

  3. Wählen Sie "Mit Feed verbinden" und dann im linken Navigationsbereich "Cargo " aus.

  4. Wenn Dies das erste Mal die Verwendung von Cargo mit Azure Artifacts ist, stellen Sie sicher, dass Sie Rostup installiert haben.

  5. Fügen Sie den bereitgestellten Codeausschnitt aus dem Project Setup-Abschnitt zu Ihrer .cargo/config.toml-Datei in Ihrem Quell-Repository hinzu:

    • Projektbezogener Feed:

      [registries]
      <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
      
      [source.crates-io]
      replace-with = "<FEED_NAME>"
      
    • Sammlungsbereichsfeed:

      [registries]
      <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<COLLECTION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
      
      [source.crates-io]
      replace-with = "<FEED_NAME>"
      

Konfigurieren eines Anmeldeinformationsanbieters

Um Cargo mit Azure Artifacts zu verwenden, müssen Sie einen Anmeldeinformationsanbieter einrichten. Die bereitgestellten Einstellungen konfigurieren ein Standardmäßiges Hilfsprogramm für Anmeldeinformationen für den aktuellen Benutzer:

Fügen Sie den folgenden Codeausschnitt in Ihr %USERPROFILE%.cargo\config.toml ein:

[registry]
global-credential-providers = ["cargo:token", "cargo:wincred"]

Melden Sie sich bei Ihrer Registrierung an

  1. Erstellen Sie ein persönliches Zugriffstoken mit Verpackung>Lese- und Schreibbereichen, um sich bei Ihrem Feed zu authentifizieren.

  2. Führen Sie den folgenden Befehl aus, um sich bei Ihrer Registrierung anzumelden. Ersetzen Sie den Platzhalter durch den Namen Ihres Feeds, und fügen Sie das persönliche Zugriffstoken ein, das Sie im vorherigen Schritt erstellt haben, wenn Sie dazu aufgefordert werden:

    "Basic " + [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("PAT:" + (Read-Host -MaskInput "Enter PAT"))) | cargo login --registry <FEED_NAME>
    

Speichern von Paketen aus Crates.io

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

Nachdem wir nun unser Projekt eingerichtet, einen Anmeldeinformationsanbieter konfiguriert und bei unserem Feed angemeldet haben, können wir mit dem Verbrauch von Paketen aus dem Upstream beginnen. Azure Artifacts speichert eine Kopie aller Pakete, die Sie aus dem Upstream-Feed installieren.

In diesem Beispiel verwenden wir die serde Kiste, ein Serialisierungs-/Deserialisierungsframework:

  1. Führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus, um die Kiste zu Ihrem cargo.toml hinzuzufügen:

    cargo add serde
    
  2. Führen Sie den folgenden Befehl aus, um Ihr Projekt zu erstellen und die Kiste zu nutzen:

    cargo build
    

Nachdem Das Paket installiert wurde, wird eine Kopie in Ihrem Feed gespeichert. Navigieren Sie zu Ihrem Feed, um die Anwesenheit zu überprüfen. Ihr Paket sollte in Ihrem Feed verfügbar sein, wie unten dargestellt:

Screenshot der *serde*-Kiste, die von upstream verbraucht wird.