Share via


Usar pacotes do Crates.io

Azure DevOps Services

As fontes upstream do Azure Artifacts permitem que os desenvolvedores consumam pacotes de registros públicos, como Crates.io e nuget.org. Este artigo irá guiá-lo através da configuração do seu projeto e usando a linha de comando para consumir Crates de Crates.io.

Este artigo orientará você sobre como:

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

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 Códigos-fonte 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 você usa o Cargo com artefatos do Azure, verifique se você instalou o rustup.

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

    • Feed do projeto com escopo:
    [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 com escopo:
    [registries]
    <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
    
    [source.crates-io]
    replace-with = "<FEED_NAME>"
    

Configurar um provedor de credenciais

Para usar o Cargo com Artefatos do Azure, 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 trecho 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 iniciar sessão no registo. Substitua o espaço reservado pelo nome do feed e cole o token de acesso pessoal criado 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 Upstream Reader (Colaborador) ou superior. Para obter mais informações, consulte Permissões.

Agora que configuramos nosso projeto, configuramos um provedor de credenciais e efetuamos login em nosso feed, podemos começar a consumir pacotes do upstream. O Azure Artifacts salva uma cópia de qualquer pacote que você instalar do upstream para o seu 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 seu cargo.toml:

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

    cargo build
    

Depois que o pacote for instalado, uma cópia será salva no feed. Navegue até o 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 do upstream.