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

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.

  1. Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.

  2. Yapıtlar'ı ve ardından Akış Oluştur'u seçin.

  3. 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.

  4. İşiniz bittiğinde Oluştur'u seçin.

    Kargo yukarı akışı için akış oluşturmayı gösteren ekran görüntüsü.

Akışınıza bağlanma

  1. Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.

  2. Yapıtlar'ı seçin ve ardından açılan menüden akışınızı seçin.

  3. Akışa bağlan'ı seçin ve ardından sol gezinti bölmesinden Kargo'ya tıklayın.

  4. Kargoyu Azure Artifacts ile ilk kez kullanıyorsanız rustup yüklediğinizden emin olun.

  5. 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>"
      
  1. Azure DevOps koleksiyonunuzda oturum açın ve projenize gidin.

  2. Yapıtlar'ı seçin ve ardından açılan menüden akışınızı seçin.

  3. Akışa bağlan'ı seçin ve ardından sol gezinti bölmesinden Kargo'ya tıklayın.

  4. Kargoyu Azure Artifacts ile ilk kez kullanıyorsanız rustup yüklediğinizden emin olun.

  5. 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/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
      
      [source.crates-io]
      replace-with = "<FEED_NAME>"
      
    • Koleksiyon kapsamlı akış:

      [registries]
      <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<COLLECTION_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

  1. Akışınızla kimlik doğrulaması yapmak için Paketleme>Okuma ve yazma kapsamları ile kişisel erişim belirteci oluşturun.

  2. 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:

  1. Kasayı cargo.toml dosyanıza eklemek için proje dizininizde aşağıdaki komutu çalıştırın:

    cargo add serde
    
  2. 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:

Yukarı akıştan tüketilen *serde* kasasını gösteren ekran görüntüsü.