Cargo-pakketten publiceren met Azure Pipelines
Met Azure Pipelines kunnen ontwikkelaars hun Cargo-pakketten publiceren naar Azure Artifacts-feeds en openbare registers, zoals Crates.io. In dit artikel leert u hoe u uw Cargo-pakketten publiceert naar een Azure Artifacts-feed met behulp van zowel YAML- als klassieke pijplijnen.
In dit artikel wordt uitgelegd hoe u het volgende kunt doen:
- Een Azure Artifacts-feed maken
- Verifiëren met Azure Artifacts
- Cargo-pakketten publiceren
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.
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. Als u al een feed hebt, kunt u doorgaan naar de volgende sectie.
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Artefacten en selecteer vervolgens Feed maken.
Geef een naam op voor uw feed, geef de zichtbaarheid op en kies vervolgens een bereik voor uw feed.
Selecteer Maken wanneer u klaar bent.
Verifiëren met Azure Artifacts
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Artefacten en selecteer vervolgens uw feed.
Selecteer Verbinding maken om te voeden en selecteer vervolgens Cargo in het linkerdeelvenster.
Volg de instructies in de sectie Project-installatie door het opgegeven fragment toe te voegen aan het bestand config.toml 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>"
Maak een persoonlijk toegangstoken met lees- en schrijfbereiken voor pakketten>om te verifiëren met uw feed.
Gebruik de taak CargoAuthenticate om te verifiëren vanuit uw pijplijn:
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Pijplijnen, selecteer uw pijplijndefinitie en selecteer vervolgens Bewerken.
Selecteer het
+
teken om een nieuwe taak toe te voegen. Zoek de taak Cargo Authenticate en selecteer Vervolgens Toevoegen om deze toe te voegen aan uw pijplijn.Selecteer het beletseltekenpictogram om een nieuw venster te openen met de inhoud van de opslagplaats en kies vervolgens het bestand config.toml .
Kratten publiceren naar uw feed
Selecteer pijplijnen in uw Azure DevOps-project, selecteer uw pijplijndefinitie en selecteer vervolgens Bewerken.
Selecteer de
+
aanmelding bij uw agenttaak om een nieuwe taak toe te voegen. Zoek de PowerShell-taak via de zoekfunctie en selecteer Vervolgens Toevoegen om deze toe te voegen aan uw pijplijn.Geef uw taak een naam, bijvoorbeeld Publiceren en selecteer vervolgens Inline als het type. Plak de inline-opdracht voor publiceren, waarbij u de tijdelijke aanduiding vervangt door de naam van uw feed:
cargo publish --registry <FEED_NAME>
Opmerking
In dit voorbeeld installeren we rustup op de agent, stellen we de omgevingsvariabele PATH in, bouwen we ons project, verifiëren met CargoAuthenticate en publiceren we ten slotte onze krat naar onze Azure Artifacts-feed:
trigger:
- main
pool:
vmImage: windows-latest
steps:
- powershell: |
Invoke-WebRequest -Uri https://sh.rustup.rs -OutFile rustup-init.sh
bash .\rustup-init.sh -y
echo "##vso[task.prependpath]$env:USERPROFILE\.cargo\bin"
displayName: Install
- task: CargoAuthenticate@0
displayName: 'cargo Authenticate'
inputs:
configFile: '.cargo/config.toml'
- script: |
cargo build --all
displayName: Build
- powershell: |
cargo publish --registry CargoInternalFeed
displayName: Publish
Nadat de pijplijnuitvoering is voltooid, moet uw krat beschikbaar zijn in uw feed, zoals hieronder wordt weergegeven:
Verwante artikelen:
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort: Gedurende 2024 worden GitHub Issues uitgefaseerd als het feedbackmechanisme voor inhoud. Dit wordt vervangen door een nieuw feedbacksysteem. Ga voor meer informatie naar:Feedback verzenden en bekijken voor