Publicar pacotes de carga com o Azure Pipelines
Serviços de DevOps do Azure | Azure DevOps Server 2022
O Azure Pipelines permite que os desenvolvedores publiquem seus 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.
Este artigo irá guiá-lo através de como:
- Criar um feed de Artefatos do Azure
- Autenticar com artefatos do Azure
- Publicar pacotes de carga
Pré-requisitos
Uma organização Azure DevOps. Crie uma organização , caso ainda não o tenha feito.
Um projeto de DevOps do Azure. Crie um projeto se ainda não tiver um.
Criar um feed
O Azure Artifacts recomenda ter um feed dedicado para consumir caixas de crates.io e um feed separado exclusivamente para publicar caixas internas. Se já tiver um feed, pode avançar para a secção seguinte.
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos e, em seguida, selecione Criar feed.
Forneça um Nome para o feed, especifique sua Visibilidade e escolha um Escopo para o feed.
Selecione Criar quando terminar.
Autenticar com artefatos do Azure
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos e, em seguida, selecione seu feed.
Selecione Conectar ao feed e, em seguida, selecione Carga no painel esquerdo.
Siga as instruções na seção Configuração do projeto adicionando o trecho fornecido ao arquivo config.toml no repositório de origem:
Feed com escopo do 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 com escopo 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>"
Crie um token de acesso pessoal com Packaging>Read & escreva escopos para autenticar com seu feed.
Use a tarefa CargoAuthenticate para autenticar a partir do seu pipeline:
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Pipelines, selecione sua definição de pipeline e selecione Editar.
Selecione o
+
sinal para adicionar uma nova tarefa. Procure a tarefa Autenticação de carga e selecione Adicionar para adicioná-la ao seu pipeline.Selecione o ícone de reticências para abrir uma nova janela exibindo o conteúdo do repositório e, em seguida, escolha o arquivo config.toml .
Publique caixas no seu feed
No seu projeto do Azure DevOps, selecione Pipelines, selecione sua definição de pipeline e selecione Editar.
Selecione o sinal no trabalho do
+
agente para adicionar uma nova tarefa. Localize a tarefa do PowerShell por meio da função de pesquisa e selecione Adicionar para adicioná-la ao seu pipeline.Dê um nome à sua tarefa, por exemplo, Publicar e, em seguida, selecione Inline como o tipo. Cole o comando publish inline, substituindo o espaço reservado pelo nome do feed:
cargo publish --registry <FEED_NAME>
Exemplo
Neste exemplo, instalaremos rustup no agente, configuraremos a variável de ambiente PATH, criaremos nosso projeto, autenticaremos com CargoAuthenticate e, finalmente, publicaremos nossa caixa em nosso 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
Depois que a execução do pipeline for concluída, sua caixa deve estar disponível em seu feed, conforme mostrado abaixo: