Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022
Ao usar Artefactos do Azure, pode publicar e restaurar pacotes Cargo a partir dos seus próprios feeds e registos públicos como crates.io. Utilize o Artefactos do Azure para alojar crates internos, estabelecer ligação a registos a montante e gerir o acesso aos pacotes num único feed. Este quickstart guia-o na criação de um feed, na configuração do seu projeto Cargo e na publicação e consumo de pacotes Cargo usando o Artefactos do Azure.
Pré-requisitos
| Produto | Requirements |
|---|---|
| Azure DevOps | - Uma Azure DevOps organização. - Um projeto Azure DevOps . - Baixe e instale rustup. Precisas do Cargo 1.74.0 ou posterior. |
Criar um feed
Se já tem um feed do Artefactos do Azure, vá para a secção seguinte. Caso contrário, siga estes passos para criar um feed. O Artefactos do Azure recomenda a utilização de um feed para consumir crates de registos públicos, como crates.io, e de um feed separado para publicar crates internos.
Inicia sessão no Azure DevOps e depois vai ao teu projeto.
Selecione Artefatos e, em seguida, selecione Criar Fluxo.
Introduza um Nome para o seu feed, escolha a sua Visibilidade e depois selecione um Escopo. Certifique-se de que seleciona a caixa Fontes Upstream para incluir pacotes de registos públicos.
Selecione Criar quando terminar.
Conectar-se a um feed
Antes de poder publicar ou restaurar pacotes do seu feed, deve primeiro configurar o seu projeto para autenticar e ligar-se ao feed.
Inicia sessão no Azure DevOps e depois vai ao teu projeto.
Selecione Artefactos e, em seguida, selecione o seu feed no menu suspenso.
Selecione Conectar ao feed e, em seguida, selecione Carga no painel de navegação esquerdo.
Siga os passos na secção de configuração do Project para configurar o seu
config.tomlficheiro.Na mesma página, siga as instruções em Configurar um fornecedor de credenciais e inicie sessão nas secções do registo para configurar o fornecedor de credenciais e ligar-se ao seu feed. Para passos detalhados, veja Carga - configuração do projeto.
Importante
O suporte de carga em Artefactos do Azure requer Rust 1.74 ou posterior, o que inclui suporte para esta registry-auth funcionalidade.
Para atualizar a sua versão do Rust, execute rustup update
Importante
Cargo está atualmente em pré-visualização e pode exigir a nightly toolchain com a registry-authfuncionalidade instável ativada. Para ativar registry-auth, adicione a seguinte definição em .cargo/config.toml.
[unstable]
registry-auth = true
Para usar a cadeia de ferramentas noturna, execute o seguinte comando:
rustup default nightly
Publicar pacotes
Antes de publicar um pacote Cargo, certifique-se de que completou os passos em Connect to a feed para que possa autenticar com o seu feed do Artefactos do Azure.
A partir do diretório que contém o seu ficheiro Cargo.toml , execute o seguinte comando para publicar o seu pacote:
cargo publish
Se encontrar um erro GLib-GObject-CRITICAL - libsecret-CRITICAL, certifique-se de seguir os passos:
Verifique se o libsecret está instalado:
sudo apt update && sudo apt install libsecret-1-0Certifique-se de que o gnome-keyring está a funcionar:
gnome-keyring-daemon --start --components=secretsAtualize o Rust para a versão estável mais recente e defina stable como a cadeia de ferramentas padrão:
rustup update rustup default stableSe o problema persistir, execute novamente
cargo publishcom registo detalhado para recolher mais informações:RUST_LOG=debug cargo publish --registry <REGISTRY_NAME>
Restaurar pacotes
Antes de restaurar dependências, certifique-se de que completou os passos em Connect to a feed para poder autenticar com o seu feed Artefactos do Azure.
Certifica-te de que as tuas dependências estão listadas na
[dependencies]secção do teuCargo.tomlficheiro.Se estiveres a utilizar crates diretamente a partir do teu feed privado do Artefactos do Azure, especifica explicitamente o registry da seguinte forma:
[dependencies] CRATE_NAME = { version = "VERSION_NUMBER", registry = "FEED_NAME" }Se estiver a referenciar crates de crates.io através do seu feed a montante, utilizando a configuração
replace-with, especifique-as da seguinte forma:[dependencies] CRATE_NAME = "VERSION_NUMBER"Execute o seguinte comando no diretório do seu projeto para compilar o seu projeto e restaurar as suas dependências a partir do feed:
cargo build
Os pacotes transferidos são colocados em cache localmente em ~/.cargo/registry/cache/<registry-hash>/, em que registry-hash é um identificador único baseado no URL do seu feed.