Publicera lastpaket med Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022
Med Azure Pipelines kan utvecklare publicera Lastpaket till Azure Artifacts-feeds och offentliga register, till exempel Crates.io. I den här artikeln får du lära dig hur du publicerar dina Lastpaket till en Azure Artifacts-feed med hjälp av både YAML- och klassiska pipelines.
Förutsättningar
En Azure DevOps-organisation och ett projekt. Skapa en organisation eller ett projekt om du inte redan har gjort det.
En feed för Azure Artifacts. Skapa en feed- om du inte redan har en.
Autentisera med en informationsström
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Artefakter och välj sedan din feed.
Välj Anslut för att mata och välj sedan Last i den vänstra rutan.
Kopiera det angivna kodfragmentet från avsnittet Project-konfiguration och lägg till det i din config.toml-fil i källlagringsplatsen. Filen bör se ut så här:
Flöde med projektomfattning:
[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>"
Flöde med organisationsomfattning:
[registries] <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" } [source.crates-io] replace-with = "<FEED_NAME>"
Skapa en personlig åtkomsttoken med omfång för att paketera>läs- och skrivomfattningar för att autentisera med ditt flöde.
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Pipelinesoch välj sedan din pipelinedefinition.
Välj Redigeraoch lägg sedan till följande kodfragment i YAML-pipelinen.
- 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"
Publicera lådor till en feed
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Pipelinesoch välj sedan din pipelinedefinition.
Välj Redigeraoch lägg sedan till följande kodfragment i YAML-pipelinen.
- powershell: | cargo publish --registry <FEED_NAME> ## Replace the placeholder with your feed name env: SYSTEM_ACCESSTOKEN: $(system.accesstoken)
Exempel
I följande exempel visas hur du installerar Rustup på agenten, konfigurerar PATH-miljövariabeln, skapar projektet, autentiserar med CargoAuthenticate och publicerar till en 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
När körningen av din pipeline är klar bör ditt paket vara tillgängligt i din feed, enligt nedan: