Compartilhar via


Usar pacotes do Crates.io

Azure DevOps Services | Azure DevOps Server 2022

As fontes upstream do Azure Artifacts permitem que os desenvolvedores consumam pacotes de registros públicos, como Crates.io e nuget.org. Este artigo orientará você na configuração do projeto e no uso da linha de comando para consumir Crates do Crates.io.

Este artigo orientará você sobre como:

  • Criar um feed do Azure Artifacts
  • Conectar-se ao seu feed
  • Consumir caixas do upstream

Pré-requisitos

Criar um feed

O Azure Artifacts recomenda ter um feed dedicado para consumir crates do crates.io e um feed separado exclusivamente para publicar crates internos.

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

  2. Selecione Artefatos e, em seguida, selecione Criar Feed.

  3. Insira um Nome para seu feed, defina sua Visibilidade e selecione seu Escopo. Certifique-se de marcar a caixa de seleção Fontes upstream para incluir pacotes de registros públicos.

  4. Selecione Criar quando terminar.

    Uma captura de tela mostrando como criar um feed para carga upstream.

Conectar-se ao seu feed

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

  2. Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.

  3. Selecione Conectar ao feed e, em seguida, selecione Carga no painel de navegação esquerdo.

  4. Se esta for a primeira vez que usa o Cargo com Azure Artifacts, verifique se você instalou o rustup.

  5. Adicione o snippet fornecido da seção Configuração do projeto ao arquivo .cargo/config.toml no repositório de origem:

    • Feed no 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 no 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>"
      
  1. Entre na sua coleção do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.

  3. Selecione Conectar ao feed e, em seguida, selecione Carga no painel de navegação esquerdo.

  4. Se esta for a primeira vez que usa o Cargo com Azure Artifacts, verifique se você instalou o rustup.

  5. Adicione o snippet fornecido da seção Configuração do projeto ao arquivo .cargo/config.toml no repositório de origem:

    • Feed no escopo do projeto:

      [registries]
      <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
      
      [source.crates-io]
      replace-with = "<FEED_NAME>"
      
    • Feed com escopo de coleção:

      [registries]
      <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<COLLECTION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
      
      [source.crates-io]
      replace-with = "<FEED_NAME>"
      

Configurar um provedor de credenciais

Para usar o Cargo com o Azure Artifacts, você precisa configurar um provedor de credenciais. As configurações fornecidas configurarão um auxiliar de credenciais padrão para o usuário atual:

Cole o seguinte snippet em seu %USERPROFILE%.cargo\config.toml:

[registry]
global-credential-providers = ["cargo:token", "cargo:wincred"]

Faça login no seu registro

  1. Crie um Token de acesso pessoal com escopos de Empacotamento>Leitura e gravação para autenticar com seu feed.

  2. Execute o seguinte comando para fazer login no registro. Substitua o espaço reservado pelo nome do seu feed e cole o token de acesso pessoal que você criou na etapa anterior quando solicitado:

    "Basic " + [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("PAT:" + (Read-Host -MaskInput "Enter PAT"))) | cargo login --registry <FEED_NAME>
    

Salvar pacotes do Crates.io

Observação

Para salvar pacotes de upstreams, você deve ter a função Feed e Leitor Upstream (Colaborador) ou superior. Consulte Gerenciar permissões para obter mais detalhes.

Agora que configuramos nosso projeto, configuramos um provedor de credenciais e fizemos login em nosso feed, podemos começar a consumir pacotes do upstream. O Azure Artifacts salva uma cópia de qualquer pacote instalado do upstream no feed.

Neste exemplo, consumimos a serde caixa, uma estrutura de serialização/desserialização:

  1. Execute o seguinte comando no diretório do projeto para adicionar a caixa ao cargo.toml:

    cargo add serde
    
  2. Execute o seguinte comando para construir seu projeto e consumir sua caixa:

    cargo build
    

Depois que o pacote estiver instalado, uma cópia será salva no feed. Navegue até seu feed para verificar sua presença. Seu pacote deve estar disponível em seu feed, conforme mostrado abaixo:

Uma captura de tela mostrando a caixa *serde* consumida a montante.