Crates.io paketlerini kullanma
Azure DevOps Services | Azure DevOps Server 2022
Azure Artifacts yukarı akış kaynakları, geliştiricilerin Crates.io ve nuget.org gibi genel kayıt defterlerindeki paketleri kullanmasına olanak tanır. Bu makale, projenizi ayarlama ve Crates.io'deki Kasaları kullanmak için komut satırını kullanma konusunda size yol gösterir.
Bu makale aşağıdaki adımları gerçekleştirmeniz için size yol gösterir:
- Azure Artifacts akışı oluşturma
- Akışınıza bağlanma
- Yukarı akıştan sandıkları kullanma
Önkoşullar
Bir Azure DevOps kuruluşu. Henüz yapmadıysanız bir kuruluş oluşturun.
Azure DevOps projesi. Projeniz yoksa proje oluşturun.
Rustup'ı indirip yükleyin.
Akış oluşturma
Azure Artifacts, crates.io kasaları tüketmek için ayrılmış bir akış ve yalnızca iç kasaları yayımlamak için ayrı bir akış olmasını önerir.
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
Yapıtlar'ı ve ardından Akış Oluştur'u seçin.
Akışınız için bir Ad girin, Görünürlüğünü tanımlayın ve ardından Kapsamınızı seçin. Genel kayıt defterlerindeki paketleri eklemek için Yukarı akış kaynakları onay kutusunu işaretlediğinden emin olun.
İşiniz bittiğinde Oluştur'u seçin.
Akışınıza bağlanma
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
Yapıtlar'ı seçin ve ardından açılan menüden akışınızı seçin.
Akışa bağlan'ı seçin ve ardından sol gezinti bölmesinden Kargo'ya tıklayın.
Kargoyu Azure Artifacts ile ilk kez kullanıyorsanız rustup yüklediğinizden emin olun.
Proje kurulumu bölümünde sağlanan kod parçacığını kaynak deponuzdaki .cargo/config.toml dosyanıza ekleyin:
- Proje kapsamlı akış:
[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>"
- Kuruluş kapsamlı akış:
[registries] <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" } [source.crates-io] replace-with = "<FEED_NAME>"
Kimlik bilgisi sağlayıcısı yapılandırma
Kargo'yı Azure Artifacts ile kullanmak için bir kimlik bilgisi sağlayıcısı ayarlamanız gerekir. Sağlanan ayarlar geçerli kullanıcı için varsayılan bir kimlik bilgisi yardımcısı yapılandıracak:
Aşağıdaki kod parçacığını %USERPROFILE%.cargo\config.toml dosyanıza yapıştırın:
[registry]
global-credential-providers = ["cargo:token", "cargo:wincred"]
Kayıt defterinizde oturum açın
Akışınızla kimlik doğrulaması yapmak için Paketleme>Okuma ve yazma kapsamları ile kişisel erişim belirteci oluşturun.
Kayıt defterinizde oturum açmak için aşağıdaki komutu çalıştırın. Yer tutucuyu akışınızın adıyla değiştirin ve sorulduğunda önceki adımda oluşturduğunuz kişisel erişim belirtecini yapıştırın:
"Basic " + [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("PAT:" + (Read-Host -MaskInput "Enter PAT"))) | cargo login --registry <FEED_NAME>
paketleri Crates.io kaydetme
Not
Yukarı akışlardan paketleri kaydetmek için Akış ve Yukarı Akış Okuyucusu (Ortak Çalışan) rolüne veya daha yüksek bir role sahip olmanız gerekir. Diğer ayrıntılar için bkz . İzinleri Yönetme.
Projemizi ayarladığımıza, bir kimlik bilgisi sağlayıcısı yapılandırdığımıza ve akışımızda oturum açtığımıza göre, paketleri yukarı akıştan tüketmeye başlayabiliriz. Azure Artifacts, yukarı akıştan akışınıza yüklediğiniz tüm paketlerin bir kopyasını kaydeder.
Bu örnekte serileştirme/seri durumdan çıkarma çerçevesi olan kasayı serde
kullanacağız:
Kasayı cargo.toml dosyanıza eklemek için proje dizininizde aşağıdaki komutu çalıştırın:
cargo add serde
Projenizi oluşturmak ve kasanızı kullanmak için aşağıdaki komutu çalıştırın:
cargo build
Paketiniz yüklendikten sonra akışınıza bir kopya kaydedilir. Akışınızın varlığını doğrulamak için akışınıza gidin. Paketiniz aşağıda gösterildiği gibi akışınızda kullanılabilir olmalıdır: