Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
servizi Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Usando Azure Artifacts, è possibile pubblicare e ripristinare pacchetti Cargo dai propri feed e registri pubblici, ad esempio crates.io. Usare Azure Artifacts per ospitare crate interne, connettersi ai registri upstream e gestire l'accesso ai pacchetti da un singolo feed. Questa guida introduttiva illustra come creare un feed, configurare il progetto Cargo e pubblicare e usare pacchetti Cargo usando Azure Artifacts.
Prerequisiti
| Prodotto | Requisiti |
|---|---|
| Azure DevOps | - Una organizzazione di Azure DevOps. - Un progetto Azure DevOps . - Scaricare e installare rustup. È necessario Cargo 1.74.0 o versione successiva. |
Creare un feed
Se si dispone già di un feed di Azure Artifacts, passare alla sezione successiva. In caso contrario, seguire questa procedura per creare un feed. Azure Artifacts consiglia di usare un feed per usare crate provenienti da registri pubblici come crates.io e un feed separato per pubblicare i crate interni.
Accedere a Azure DevOps e quindi passare al progetto.
Selezionare Artefatti, quindi selezionare Crea feed.
Immettere un nome per il feed, scegliere visibilità e quindi selezionare un ambito. Assicurarsi di selezionare la casella di controllo Origini upstream per includere i pacchetti dai registri pubblici.
Al termine, fare clic su Crea.
Connettersi a un feed
Prima di poter pubblicare o ripristinare pacchetti dal feed, è necessario configurare il progetto per l'autenticazione e la connessione al feed.
Accedere a Azure DevOps e quindi passare al progetto.
Selezionare Artefatti e quindi selezionare il proprio feed dal menu a discesa.
Selezionare Connetti al feed e quindi selezionare Cargo nella barra di navigazione a sinistra.
Seguire la procedura descritta nella sezione Project setup per configurare il
config.tomlfile.Nella stessa pagina seguire le istruzioni riportate nelle sezioni Configurare un provider di credenziali e Accedere al Registro di sistema per configurare il provider di credenziali e connettersi al feed. Per i passaggi dettagliati, vedere Cargo - configurazione del progetto.
Importante
Il supporto di Cargo in Azure Artifacts richiede Rust 1.74 o versioni successive, che includono il supporto per la funzionalità registry-auth.
Per aggiornare la versione di Rust, eseguire rustup update
Importante
Cargo è attualmente in anteprima e potrebbe richiedere la toolchain notturna con la registry-authfunzionalità instabile abilitata. Per abilitare registry-auth, aggiungere l'impostazione seguente a .cargo/config.toml.
[unstable]
registry-auth = true
Per usare la toolchain notturna, eseguire il comando seguente:
rustup default nightly
Pubblicare pacchetti
Prima di pubblicare un pacchetto Cargo, assicurarsi di aver completato i passaggi descritti in Connettersi a un feed in modo da poter eseguire l'autenticazione con il feed Azure Artifacts.
Dalla directory contenente il file Cargo.toml eseguire il comando seguente per pubblicare il pacchetto:
cargo publish
Se si verifica GLib-GObject-CRITICAL - libsecret-CRITICAL un errore, assicurarsi di seguire questa procedura:
Verificare che libsecret sia installato:
sudo apt update && sudo apt install libsecret-1-0Assicurarsi che gnome-keyring sia in esecuzione:
gnome-keyring-daemon --start --components=secretsAggiornare Rust alla versione stabile più recente e impostare stabile come toolchain predefinita:
rustup update rustup default stableSe il problema persiste, eseguire
cargo publishdi nuovo con la registrazione dettagliata per raccogliere altri dettagli:RUST_LOG=debug cargo publish --registry <REGISTRY_NAME>
Ripristinare i pacchetti
Prima di ripristinare le dipendenze, assicurarsi di aver completato i passaggi descritti in Connettersi a un feed in modo da poter eseguire l'autenticazione con il feed Azure Artifacts.
Assicurarsi che le dipendenze siano elencate nella
[dependencies]sezione delCargo.tomlfile.Se si usano direttamente i crate dal feed privato di Azure Artifacts, specificare esplicitamente il registro come indicato di seguito:
[dependencies] CRATE_NAME = { version = "VERSION_NUMBER", registry = "FEED_NAME" }Se fai riferimento a crate da crates.io tramite il feed upstream usando la configurazione
replace-with, specificale come segue:[dependencies] CRATE_NAME = "VERSION_NUMBER"Eseguire il comando seguente nella directory del progetto per compilare il progetto e ripristinare le dipendenze dal feed:
cargo build
I crate scaricati vengono memorizzati nella cache locale in ~/.cargo/registry/cache/<registry-hash>/, dove registry-hash è un identificatore univoco basato sull'URL del feed.