Azure Pipelines ile Kargo paketleri yayımlama

Azure DevOps Services | Azure DevOps Server 2022

Azure Pipelines, geliştiricilerin Kargo paketlerini Azure Artifacts akışlarına ve Crates.io gibi genel kayıt defterlerine yayımlamasına olanak tanır. Bu makalede, Hem YAML hem de Klasik işlem hatlarını kullanarak Kargo paketlerinizi bir Azure Artifacts akışında yayımlamayı öğreneceksiniz.

Bu makale aşağıdaki adımları gerçekleştirmeniz için size yol gösterir:

  • Azure Artifacts akışı oluşturma
  • Azure Artifacts ile kimlik doğrulaması
  • Kargo paketlerini yayımlama

Ö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. Zaten bir akışınız varsa sonraki bölüme geçebilirsiniz.

  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 belirtin, Görünürlüğünü belirtin ve ardından akışınız için bir Kapsam seçin.

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

    dahili paketler için kargo akışı oluşturmayı gösteren ekran görüntüsü.

Azure Artifacts ile kimlik doğrulaması

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

  2. Yapıtlar'ı ve ardından akışınızı seçin.

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

  4. Sağlanan kod parçacığını kaynak deponuzdaki config.toml dosyanıza ekleyerek Proje kurulumu bölümündeki yönergeleri izleyin:

    • 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>"
      
  5. Akışınızla kimlik doğrulaması yapmak için Paketleme>Okuma ve yazma kapsamları ile kişisel erişim belirteci oluşturun.

  6. İşlem hattınızdan kimlik doğrulaması yapmak için CargoAuthenticate görevini kullanın:

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

    2. İşlem hatları'yı seçin, işlem hattı tanımınızı ve ardından Düzenle'yi seçin.

    3. + Yeni görev eklemek için işareti seçin. Kargo Kimlik Doğrulaması görevini arayın ve ardından ekle'yi seçerek işlem hattınıza ekleyin.

    4. Üç nokta simgesini seçerek depo içeriğinizi görüntüleyen yeni bir pencere açın ve ardından config.toml dosyanızı seçin.

      Klasik işlem hattında Kargo kimlik doğrulaması görevini gösteren ekran görüntüsü.

Akışlarınızda kasa yayımlama

  1. Azure DevOps projenizden İşlem Hatları'yı seçin, işlem hattı tanımınızı seçin ve ardından Düzenle'yi seçin.

  2. + Yeni bir görev eklemek için aracı işinizdeki işareti seçin. Arama işlevi aracılığıyla PowerShell görevini bulun ve ardından ekle'yi seçerek işlem hattınıza ekleyin.

  3. Görevinize yayımla gibi bir ad verin ve ardından tür olarak Satır içi'ni seçin. Yayımla komutunuzu satır içinde yapıştırın ve yer tutucuyu akış adınızla değiştirin:

    cargo publish --registry <FEED_NAME>
    

Klasik işlem hattı kullanılarak kasaların ve Azure Artifacts akışına nasıl yayım yapılacağını gösteren ekran görüntüsü.

Örnek

Bu örnekte aracıya rustup yükleyecek, PATH ortam değişkenini ayarlayacak, projemizi oluşturacak, CargoAuthenticate ile kimlik doğrulaması yapacak ve son olarak kasamızı Azure Artifacts akışımızda yayımlayacağız:

trigger:
- main

pool:
  vmImage: windows-latest

steps:
- powershell: |
   Invoke-WebRequest -Uri https://sh.rustup.rs -OutFile rustup-init.sh
   bash .\rustup-init.sh -y
   echo "##vso[task.prependpath]$env:USERPROFILE\.cargo\bin"
  displayName: Install

- task: CargoAuthenticate@0
  displayName: 'cargo Authenticate'
  inputs:
    configFile: '.cargo/config.toml'

- script: |
   cargo build --all
  displayName: Build

- powershell: |
   cargo publish --registry CargoInternalFeed
  displayName: Publish

İşlem hattı çalıştırmanız tamamlandıktan sonra, kasanız aşağıda gösterildiği gibi akışınızda kullanılabilir olmalıdır:

Akışta yayımlanan hello-world-cargo kasasını gösteren ekran görüntüsü.