Partilhar via


Publicar pacotes de carga com o Azure Pipelines

Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022

O Azure Pipelines permite que os desenvolvedores publiquem pacotes de carga em feeds de artefatos do Azure e registros públicos, como Crates.io. Neste artigo, você aprenderá como publicar seus pacotes de carga em um feed de artefatos do Azure usando pipelines YAML e Classic.

Pré-requisitos

  • Uma organização e um projeto do Azure DevOps. Crie uma organização ou um projeto , caso ainda não o tenha feito.

  • Um feed de Artefatos do Azure. Crie um feed se ainda não tiver um.

Autenticar com um feed

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione seu feed.

  3. Selecione Conectar ao feed e, em seguida, selecione Carga no painel esquerdo.

  4. Copie o trecho fornecido da seção de configuração do Project e adicione-o ao arquivo de config.toml do no repositório de origem. O seu ficheiro deve ter este aspeto:

    • Feed específico ao projeto

      [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 da organização

      [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. Crie um token de acesso pessoal com escopos de Packaging> para autenticar com o seu feed.

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Pipelinese, em seguida, selecione sua definição de pipeline.

  3. Selecione Editare, em seguida, adicione o seguinte trecho ao seu pipeline YAML.

    - 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"
    

Publicar caixas em um feed

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Pipelinese, em seguida, selecione sua definição de pipeline.

  3. Selecione Editare, em seguida, adicione o seguinte trecho ao seu pipeline YAML.

    - powershell: |
       cargo publish --registry <FEED_NAME>        ## Replace the placeholder with your feed name
      env:
        SYSTEM_ACCESSTOKEN: $(system.accesstoken)
    

Exemplo

O exemplo a seguir mostra como instalar o Rustup no agente, configurar a variável de ambiente PATH, criar o projeto, autenticar com CargoAuthenticate e publicar em um feed de artefatos do Azure:

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

Quando a execução do pipeline for concluída, o seu caixote deverá estar disponível no feed, conforme mostrado abaixo:

Uma captura de tela mostrando a caixa hello-world-cargo publicada no feed.