Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Med hjälp av Azure Artifacts kan du publicera och återställa Lastpaket från dina egna feeds och offentliga register, till exempel crates.io. Använd Azure Artifacts för att vara värd för interna lådor, ansluta till överordnade register och hantera paketåtkomst från en enda feed. Den här snabbstarten vägleder dig genom att skapa ett flöde, konfigurera ditt Cargo-projekt och publicera och använda Cargo-paket med hjälp av Azure Artifacts.
Prerequisites
| Produkt | Requirements |
|---|---|
| Azure DevOps | – En organisation i Azure DevOps . - Ett Azure DevOps projekt. – Ladda ned och installera rustup. Du behöver Cargo 1.74.0 eller senare. |
Skapa en feed
Om du redan har en Azure Artifacts feed går du till nästa avsnitt. I annat fall följer du de här stegen för att skapa en feed. Azure Artifacts rekommenderar att du använder ett flöde för att använda lådor från offentliga register, till exempel crates.io och ett separat flöde för publicering av interna lådor.
Logga in på Azure DevOps och gå sedan till projektet.
Välj Artefakter och välj sedan Skapa flöde.
Ange ett namn för feeden, välj dess synlighet och välj sedan ett omfång. Kontrollera att du markerar kryssrutan Uppströmskällor för att inkludera paket från offentliga register.
Välj Skapa när du är klar.
Ansluta till ett flöde
Innan du kan publicera eller återställa paket från feeden måste du först konfigurera projektet för att autentisera och ansluta till feeden.
Logga in på Azure DevOps och gå sedan till projektet.
Välj Artefakter och välj sedan din feed från den nedrullningsbara menyn.
Välj Anslut för att mataoch välj sedan Cargo i det vänstra navigeringsfönstret.
Följ stegen i avsnittet Project konfiguration för att konfigurera
config.tomlfilen.På samma sida följer du anvisningarna i Avsnittet Konfigurera en provider för autentiseringsuppgifter och Logga in på registeravsnitten för att konfigurera providern för autentiseringsuppgifter och ansluta till flödet. Detaljerade steg finns i Last – projektkonfiguration.
Viktigt
Laststöd i Azure Artifacts kräver Rust 1.74 eller senare, vilket inkluderar stöd för registry-auth funktionen.
Om du vill uppdatera Rust-versionen kör du rustup update
Viktigt
Cargo är för närvarande i förhandsversion och kan kräva nightly-verktygskedjan med den registry-authinstabila funktionen aktiverad. Om du vill aktivera registry-authlägger du till följande inställning i .cargo/config.toml.
[unstable]
registry-auth = true
Kör följande kommando för att använda den nattliga verktygskedjan:
rustup default nightly
Distribuera paket
Innan du publicerar ett Lastpaket kontrollerar du att du har slutfört stegen i Anslut till en feed så att du kan autentisera med din Azure Artifacts feed.
Från katalogen som innehåller filen Cargo.toml kör du följande kommando för att publicera paketet:
cargo publish
Om ett GLib-GObject-CRITICAL - libsecret-CRITICAL-fel uppstår, kontrollera att du följer dessa steg:
Kontrollera att libsecret är installerat:
sudo apt update && sudo apt install libsecret-1-0Kontrollera att gnome-keyring körs:
gnome-keyring-daemon --start --components=secretsUppdatera Rust till den senaste stabila versionen och ange stabil som standardverktygskedja:
rustup update rustup default stableOm problemet kvarstår kör du
cargo publishigen med utförlig loggning för att samla in mer detaljerad information:RUST_LOG=debug cargo publish --registry <REGISTRY_NAME>
Återställa paket
Innan du återställer beroenden kontrollerar du att du har slutfört stegen i Anslut till en feed så att du kan autentisera med din Azure Artifacts feed.
Kontrollera att dina beroenden visas i avsnittet
[dependencies]iCargo.tomlfilen.Om du använder crates direkt från ditt privata Azure Artifacts-flöde, anger du registret explicit på följande sätt:
[dependencies] CRATE_NAME = { version = "VERSION_NUMBER", registry = "FEED_NAME" }Om du refererar till lådor från crates.io via din överordnade feed med hjälp av konfigurationen
replace-withanger du dem på följande sätt:[dependencies] CRATE_NAME = "VERSION_NUMBER"Kör följande kommando i projektkatalogen för att skapa projektet och återställa dina beroenden från feeden:
cargo build
De nedladdade lådorna cachelagras lokalt i ~/.cargo/registry/cache/<registry-hash>/, där registry-hash är en unik identifierare som baseras på din feed-URL.