Publikování balíčků Cargo pomocí Azure Pipelines
Azure Pipelines umožňuje vývojářům publikovat své balíčky Cargo do informačních kanálů Azure Artifacts a veřejných registrů, jako je Crates.io. V tomto článku se dozvíte, jak publikovat balíčky Cargo do informačního kanálu Azure Artifacts pomocí kanálů YAML i Classic.
Tento článek vás provede následujícími postupy:
- Vytvoření informačního kanálu Azure Artifacts
- Ověřování pomocí Azure Artifacts
- Publikování balíčků Cargo
Požadavky
Organizace Azure DevOps. Pokud jste to ještě neudělali, vytvořte organizaci .
Projekt Azure DevOps. Pokud ho ještě nemáte, vytvořte projekt .
Vytvoření informačního kanálu
Azure Artifacts doporučuje mít vyhrazený kanál pro využívání krabic z crates.io a samostatného informačního kanálu výhradně pro publikování interních krabic. Pokud už informační kanál máte, můžete přejít k další části.
Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.
Vyberte Artefakty a pak vyberte Vytvořit informační kanál.
Zadejte název informačního kanálu, zadejte jeho viditelnost a pak zvolte obor informačního kanálu.
Až budete hotovi, vyberte Vytvořit .
Ověřování pomocí Azure Artifacts
Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.
Vyberte Artefakty a pak svůj informační kanál.
Vyberte Připojení pro podávání a pak v levém podokně vyberte Cargo.
Postupujte podle pokynů v části Nastavení projektu přidáním poskytnutého fragmentu do souboru config.toml ve zdrojovém úložišti:
Informační kanál s oborem projektu:
[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>"
Informační kanál s oborem organizace:
[registries] <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" } [source.crates-io] replace-with = "<FEED_NAME>"
Vytvořte osobní přístupový token s rozsahy čtení a zápisu balíčku>pro ověření v informačním kanálu.
K ověření z kanálu použijte úlohu CargoAuthenticate:
Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.
Vyberte Kanály, vyberte definici kanálu a pak vyberte Upravit.
Výběrem znaménka
+
přidáte nový úkol. Vyhledejte úlohu Ověření nákladu a pak vyberte Přidat, aby se přidala do kanálu.Výběrem ikony se třemi tečky otevřete nové okno zobrazující obsah úložiště a pak zvolte soubor config.toml .
Publikování krabic do informačního kanálu
V projektu Azure DevOps vyberte Kanály, vyberte definici kanálu a pak vyberte Upravit.
Vyberte přihlášení k
+
úloze agenta a přidejte novou úlohu. Najděte úlohu PowerShellu prostřednictvím vyhledávací funkce a pak ji výběrem možnosti Přidat přidejte do kanálu.Zadejte název úkolu, například Publikovat, a jako typ vyberte Vložit . Vložte příkaz publish inline a nahraďte zástupný text názvem informačního kanálu:
cargo publish --registry <FEED_NAME>
Příklad
V tomto příkladu nainstalujete rustup na agenta, nastavíme proměnnou prostředí PATH, sestavíme projekt, ověříme se pomocí CargoAuthenticate a nakonec publikujeme naši bednu do informačního kanálu Azure Artifacts:
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
Po dokončení spuštění kanálu by měla být v kanálu k dispozici bedna, jak je znázorněno níže: