Publikování balíčků Cargo pomocí Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022
Azure Pipelines umožňuje vývojářům publikovat 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.
Požadavky
Organizace Azure DevOps a projekt Vytvořte organizaci nebo projekt, pokud jste to ještě neudělali.
Informační kanál Azure Artifacts Vytvoření informačního kanálu, pokud ho ještě nemáte.
Ověřte pomocí informačního kanálu
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řipojit k informačnímu kanálu a pak v levém podokně vyberte Cargo .
Zkopírujte zadaný fragment kódu z oddílu Nastavení projektu a přidejte ho do souboru config.toml ve zdrojovém úložišti. Soubor by měl vypadat takto:
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>
Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.
Vyberte Pipelinesa pak vyberte definici kanálu.
Vyberte Upravita pak do kanálu YAML přidejte následující fragment kódu.
- task: CargoAuthenticate@0 displayName: 'Cargo Authenticate' inputs: configFile: '.cargo/config.toml' ## Path to the config.toml file that specifies the registries you want to work with. Select the file, not the folder e.g. "/.cargo/config.toml"
Publikování krabic do informačního kanálu
Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.
Vyberte Pipelinesa pak vyberte definici kanálu.
Vyberte Upravita pak do kanálu YAML přidejte následující fragment kódu.
- powershell: | cargo publish --registry <FEED_NAME> ## Replace the placeholder with your feed name env: SYSTEM_ACCESSTOKEN: $(system.accesstoken)
Příklad
Následující příklad ukazuje, jak nainstalovat Rustup na agenta, nakonfigurovat proměnnou prostředí PATH, sestavit projekt, ověřit pomocí CargoAuthenticate a publikovat 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í pipeliny by měl být balíček k dispozici ve vašem úložišti, jak je znázorněno níže: