Sdílet prostřednictvím


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

Ověřte pomocí informačního kanálu

  1. Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.

  2. Vyberte Artefakty a pak svůj informační kanál.

  3. Vyberte Připojit k informačnímu kanálu a pak v levém podokně vyberte Cargo .

  4. 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>"
      
  5. Vytvořte osobní přístupový token s rozsahy čtení a zápisu balíčku>

  1. Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.

  2. Vyberte Pipelinesa pak vyberte definici kanálu.

  3. 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

  1. Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.

  2. Vyberte Pipelinesa pak vyberte definici kanálu.

  3. 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:

Snímek obrazovky zobrazující bednu hello-world-cargo publikovanou do informačního kanálu