Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure DevOps Services | Azure DevOps Server | 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.
Pré-requisitos
| Produto | Requisitos |
|---|---|
| Azure DevOps | - Uma organização do Azure DevOps. - Um projeto do Azure DevOps . – Baixar e instalar o rustup. Você precisará da versão cargo 1.74.0 ou posterior. |
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. Se você já tiver um feed do Azure Artifacts, vá para a próxima seção. Caso contrário, crie um novo da seguinte maneira:
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, selecione a Visibilidade para definir quem pode exibir seus pacotes e escolha o Escopo do feed. Marque a caixa de seleção Incluir pacotes de fontes públicas comuns para habilitar fontes upstream no feed.
Selecione Criar quando terminar.
Conectar-se ao seu feed
Agora que você tem um feed, você precisa configurar o arquivo config.toml , configurar um provedor de credenciais e fazer logon no registro para autenticar com o feed.
Configuração do projeto
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos e, em seguida, selecione seu feed no menu suspenso.
Selecione Conectar para alimentar e, em seguida, selecione Carga no painel de navegação esquerdo.
Copie o snippet da seção de instalação do Project e cole-o no arquivo .cargo/config.toml no repositório de origem. Ele deve ser semelhante ao seguinte:
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>"
Entre em sua coleção do Azure DevOps e navegue até seu projeto.
Selecione Artefatos e, em seguida, selecione seu feed no menu suspenso.
Selecione Conectar para alimentar e, em seguida, selecione Carga no painel de navegação esquerdo.
Copie o snippet da seção de instalação do Project e cole-o no arquivo .cargo/config.toml no repositório de origem. Ele deve ser semelhante a:
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 seguintes configurações definirão um auxiliar de credencial padrão para o usuário:
Cole o seguinte snippet no %USERPROFILE%.cargo\config.toml:
[registry]
global-credential-providers = ["cargo:token", "cargo:wincred"]
Faça login no seu registro
Crie um Token de acesso pessoal com escopos de Empacotamento>Leitura e gravação para autenticar com seu feed.
Execute o seguinte comando para fazer login no registro. Substitua <FEED_NAME> pelo nome do feed e, quando promovido, cole o token de acesso pessoal criado anteriormente.
"Basic " + [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("PAT:" + (Read-Host -MaskInput "Enter PAT"))) | cargo login --registry <FEED_NAME>
Salvar pacotes do Crates.io
Agora que seu projeto está configurado, o provedor de credenciais está configurado e você é autenticado com o feed, você pode começar a consumir pacotes de fontes upstream. O Azure Artifacts salva automaticamente uma cópia de qualquer pacote que você instalar da origem para o seu feed.
O exemplo a seguir demonstra como consumir o reqwest crate, uma biblioteca de clientes HTTP usada para fazer solicitações HTTP:
Adicione o crate ao cargo.toml executando o seguinte comando no diretório do projeto:
cargo add reqwestExecute o seguinte comando para construir seu projeto e consumir sua caixa:
cargo build
Depois que o pacote for instalado, uma cópia será salva no feed. Você pode verificar isso navegando até o feed no Azure DevOps. O pacote deve estar disponível no feed, conforme mostrado abaixo:
Observação
Para salvar pacotes de upstreams, você deve ter a função Feed e Leitor Upstream (Colaborador) ou superior. Consulte as funções e permissões do Feed para obter mais detalhes.