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
Bir Azure DevOps kuruluşu. Henüz yapmadıysanız bir kuruluş oluşturun.
Azure DevOps projesi. Henüz bir projeniz yoksa bir proje oluşturun.
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.
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 belirtin, Görünürlüğünü belirtin ve ardından akışınız için bir Kapsam seçin.
İşiniz bittiğinde Oluştur'u seçin.
Azure Artifacts ile kimlik doğrulaması
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
Yapıtlar'ı ve ardından akışınızı seçin.
Akışa bağlan'ı seçin ve ardından sol bölmeden Kargo'ya tıklayın.
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>"
Akışınızla kimlik doğrulaması yapmak için Paketleme>Okuma ve yazma kapsamları ile kişisel erişim belirteci oluşturun.
İşlem hattınızdan kimlik doğrulaması yapmak için CargoAuthenticate görevini kullanın:
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
İşlem hatları'yı seçin, işlem hattı tanımınızı ve ardından Düzenle'yi seçin.
+
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.Üç 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.
Akışlarınızda kasa yayımlama
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.
+
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.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>
Ö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: