Pakketten uit Crates.io gebruiken
Azure DevOps Services | Azure DevOps Server 2022
Met upstream-bronnen van Azure Artifacts kunnen ontwikkelaars pakketten van openbare registers gebruiken, zoals Crates.io en nuget.org. In dit artikel wordt u begeleid bij het instellen van uw project en het gebruik van de opdrachtregel voor het verbruik van kratten uit Crates.io.
In dit artikel wordt uitgelegd hoe u het volgende kunt doen:
- Een Azure Artifacts-feed maken
- Verbinding maken met uw feed
- Kratten van upstream verbruiken
Vereisten
een Azure DevOps-organisatie. Maak een organisatie als u dat nog niet hebt gedaan.
Een Azure DevOps-project. Maak een project als u er nog geen hebt.
Download en installeer rustup.
Een feed maken
Azure Artifacts raadt aan om een speciale feed te gebruiken voor het verbruik van kratten uit crates.io en een afzonderlijke feed uitsluitend voor het publiceren van interne kratten.
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Artefacten en selecteer vervolgens Feed maken.
Voer een naam in voor uw feed, definieer de zichtbaarheid en selecteer vervolgens uw bereik. Schakel het selectievakje Upstream-bronnen in om pakketten uit openbare registers op te nemen.
Selecteer Maken wanneer u klaar bent.
Verbinding maken met uw feed
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Artefacten en selecteer vervolgens uw feed in de vervolgkeuzelijst.
Selecteer Verbinding maken met feed en selecteer Vervolgens Cargo in het linkernavigatiedeelvenster.
Als dit de eerste keer is dat u Cargo gebruikt met Azure Artifacts, controleert u of u roest hebt geïnstalleerd.
Voeg het opgegeven fragment uit de sectie Project-installatie toe aan uw .cargo/config.toml-bestand in uw bronopslagplaats:
Feed met projectbereik:
[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 met organisatiebereik:
[registries] <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" } [source.crates-io] replace-with = "<FEED_NAME>"
Meld u aan bij uw Azure DevOps-verzameling en navigeer vervolgens naar uw project.
Selecteer Artefacten en selecteer vervolgens uw feed in de vervolgkeuzelijst.
Selecteer Verbinding maken met feed en selecteer Vervolgens Cargo in het linkernavigatiedeelvenster.
Als dit de eerste keer is dat u Cargo gebruikt met Azure Artifacts, controleert u of u roest hebt geïnstalleerd.
Voeg het opgegeven fragment uit de sectie Project-installatie toe aan uw .cargo/config.toml-bestand in uw bronopslagplaats:
Feed met projectbereik:
[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>"
Feed met verzamelingsbereik:
[registries] <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<COLLECTION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" } [source.crates-io] replace-with = "<FEED_NAME>"
Een referentieprovider configureren
Als u Cargo wilt gebruiken met Azure Artifacts, moet u een referentieprovider instellen. Met de opgegeven instellingen wordt een standaardreferentiehulp voor de huidige gebruiker geconfigureerd:
Plak het volgende fragment in uw %USERPROFILE%.cargo\config.toml:
[registry]
global-credential-providers = ["cargo:token", "cargo:wincred"]
Meld u aan bij uw register
Maak een persoonlijk toegangstoken met lees- en schrijfbereiken voor pakketten>om te verifiëren met uw feed.
Voer de volgende opdracht uit om u aan te melden bij uw register. Vervang de tijdelijke aanduiding door de naam van uw feed en plak het persoonlijke toegangstoken dat u in de vorige stap hebt gemaakt wanneer u hierom wordt gevraagd:
"Basic " + [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("PAT:" + (Read-Host -MaskInput "Enter PAT"))) | cargo login --registry <FEED_NAME>
Pakketten opslaan vanuit Crates.io
Notitie
Als u pakketten wilt opslaan vanuit upstreams, moet u de rol Feed en Upstream Reader (Samenwerker) of hoger hebben. Zie Machtigingen beheren voor meer informatie.
Nu we ons project hebben ingesteld, een referentieprovider hebben geconfigureerd en zich hebben aangemeld bij onze feed, kunnen we pakketten van upstream gaan gebruiken. Azure Artifacts slaat een kopie op van elk pakket dat u vanuit upstream naar uw feed installeert.
In dit voorbeeld gebruiken we de serde
kist, een serialisatie-/deserialisatieframework:
Voer de volgende opdracht uit in uw projectmap om de krat toe te voegen aan uw cargo.toml:
cargo add serde
Voer de volgende opdracht uit om uw project te bouwen en uw krat te gebruiken:
cargo build
Zodra uw pakket is geïnstalleerd, wordt er een kopie opgeslagen in uw feed. Navigeer naar uw feed om de aanwezigheid ervan te controleren. Uw pakket moet beschikbaar zijn in uw feed, zoals hieronder wordt weergegeven: