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
Eine Azure DevOps-Organisation. Erstellen Sie eine Organization, falls Sie das noch nicht getan haben.
Ein Azure DevOps-Projekt. Erstellen Sie ein Projekt, wenn Sie kein Projekt haben.
Herunterladen und Installieren von Rostup.
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.
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann Ihren Feed erstellen aus.
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.
Wählen Sie Erstellen, wenn Sie fertig sind.
Herstellen einer Verbindung mit Ihrem Feed
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.
Wählen Sie "Mit Feed verbinden" und dann im linken Navigationsbereich "Cargo " aus.
Wenn Dies das erste Mal die Verwendung von Cargo mit Azure Artifacts ist, stellen Sie sicher, dass Sie Rostup installiert haben.
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>"
Melden Sie sich bei Ihrer Azure DevOps-Sammlung an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.
Wählen Sie "Mit Feed verbinden" und dann im linken Navigationsbereich "Cargo " aus.
Wenn Dies das erste Mal die Verwendung von Cargo mit Azure Artifacts ist, stellen Sie sicher, dass Sie Rostup installiert haben.
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
Erstellen Sie ein persönliches Zugriffstoken mit Verpackung>Lese- und Schreibbereichen, um sich bei Ihrem Feed zu authentifizieren.
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:
Führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus, um die Kiste zu Ihrem cargo.toml hinzuzufügen:
cargo add serde
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: