Öğretici: Azure Pipelines ile ARM şablonlarının sürekli tümleştirilmesi

Önceki öğreticide, bağlantılı bir şablon dağıtırsınız. Bu öğreticide, Azure Resource Manager şablonu (ARM şablonu) projelerini sürekli olarak derlemek ve dağıtmak için Azure Pipelines kullanmayı öğreneceksiniz.

Azure DevOps, işleri planlamak, kod geliştirmeyle işbirliği yapmak ve uygulama derlemek ve dağıtmak için ekipleri desteklemek üzere Geliştirici Hizmetleri sağlar. Geliştiriciler Azure DevOps Services kullanarak bulutta çalışabilir. Azure DevOps, Web tarayıcınız veya IDE istemciniz aracılığıyla erişebileceğiniz tümleşik bir özellikler kümesi sağlar. Azure işlem hattı bu özelliklerden biridir. Azure Pipelines, tam özellikli bir sürekli tümleştirme (CI) ve sürekli teslim (CD) hizmetidir. Tercih ettiğiniz git sağlayıcınız ile birlikte çalışarak, en büyük bulut hizmetlerine dağıtabilirsiniz. Daha sonra Microsoft Azure, Google Cloud Platform veya Amazon Web Services için kodunuzun derleme, test etme ve dağıtımını otomatik hale getirebilirsiniz.

Not

Bir proje adı seçin. Öğreticiden gittiğinizde, Azurermpipeline herhangi birini proje adınızla değiştirin. Bu proje adı, kaynak adları oluşturmak için kullanılır. Kaynaklardan biri bir depolama hesabıdır. Depolama hesabı adları 3 ila 24 karakter uzunluğunda olmalı ve yalnızca rakam ve küçük harf kullanılmalıdır. Ad benzersiz olmalıdır. Şablonda, depolama hesabı adı, Mağaza eklenmiş proje adıdır ve proje adı 3 ila 11 karakter arasında olmalıdır. Bu nedenle, proje adı depolama hesabı adı gereksinimlerini karşılamalıdır ve 11 ' den az karakter içermelidir.

Bu öğretici aşağıdaki görevleri kapsar:

  • GitHub deposu hazırlama
  • Azure DevOps projesi oluşturma
  • Azure işlem hattı oluşturma
  • İşlem hattı dağıtımını doğrulama
  • Şablonu güncelleştirme ve yeniden dağıtma
  • Kaynakları temizleme

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önkoşullar

Bu makaleyi tamamlamak için gerekenler:

GitHub deposu hazırlama

GitHub, Kaynak Yöneticisi şablonları dahil olmak üzere proje kaynak kodunuzu depolamak için kullanılır. Desteklenen diğer depolar için bkz. Azure DevOps tarafından desteklenen depolar.

GitHub deposu oluşturma

GitHub hesabınız yoksa bkz. Önkoşullar.

  1. GitHub'da oturum açın.

  2. Sağ üst köşedeki hesap görüntünüzü seçin ve ardından depolarınızı seçin.

    Azure Resource Manager Azure DevOps Azure Pipelines GitHub deposu oluşturma

  3. Yeşil düğme olan Yeni' yi seçin.

  4. Depo adı alanına bir depo adı girin. Örneğin, Azurermpipeline-depo. Herhangi bir Azurermpipeline öğesini proje adınızla değiştirmeyi unutmayın. Bu öğreticiden gezinmek için genel veya özel ' i seçebilirsiniz. Sonra Depo oluştur' u seçin.

  5. URL 'YI yazın. Depo URL 'SI şu biçimdedir- https://github.com/[YourAccountName]/[YourRepositoryName] .

Bu depo, uzak depo olarak adlandırılır. Aynı projenin geliştiricilerin her biri kendi Yerel depolamalarını kopyalayabilir ve değişiklikleri uzak depoda birleştirebilirler.

Uzak depoyu Kopyala

  1. Git kabuğu veya git Bash 'i açın. Ön koşullara bakın.

  2. Geçerli klasörünüzün GitHub olduğunu doğrulayın.

  3. Şu komutu çalıştırın:

    git clone https://github.com/[YourAccountName]/[YourGitHubRepositoryName]
    cd [YourGitHubRepositoryName]
    mkdir CreateWebApp
    cd CreateWebApp
    pwd
    

    [YourAccountName]GitHub hesabı adınızla değiştirin ve [YourGitHubRepositoryName] önceki yordamda oluşturduğunuz depo adınızla değiştirin.

Createwebapp klasörü, şablonun depolandığı klasördür. pwdKomut klasör yolunu gösterir. Yol, aşağıdaki yordamda şablonu kaydettiğiniz yerdir.

Hızlı başlangıç şablonu indirme

Şablonları oluşturmak yerine şablonları indirebilir ve Createwebapp klasörüne kaydedebilirsiniz.

Hem klasör adı hem de dosya adları ardışık düzende oldukları için kullanılır. Bu adları değiştirirseniz, işlem hattında kullanılan adları güncelleştirmeniz gerekir.

Şablonu uzak depoya gönder

azuredeploy.js , yerel depoya eklendi. Sonra, şablonu uzak depoya yüklersiniz.

  1. Açık değilse Git kabuğu veya Git Bash'i açın.

  2. Dizini yerel deponuzdaki Createwebapp klasörü ile değiştirin.

  3. Dosyadaki azuredeploy.js klasörde olduğunu doğrulayın.

  4. Şu komutu çalıştırın:

    git add .
    git commit -m "Add web app templates."
    git push origin main
    

    LF hakkında bir uyarı alabilirsiniz. Uyarıyı yoksayabilirsiniz. Main, ana daldır. Genellikle her güncelleştirme için bir dal oluşturursunuz. Öğreticiyi basitleştirmek için, ana dalı doğrudan kullanırsınız.

  5. Bir tarayıcıdan GitHub deponuza gidin. URL https://github.com/[YourAccountName]/[YourGitHubRepository] . Createwebapp klasörünü ve klasörün içinde iki dosyayı görürsünüz.

  6. Şablonu açmak için azuredeploy.jsaçık ' ı seçin.

  7. Ham düğmesini seçin. URL ile başlar https://raw.githubusercontent.com .

  8. URL’nin kopyasını oluşturun. İşlem hattını öğreticide daha sonra yapılandırırken bu değeri sağlamanız gerekir.

Şimdiye kadar, bir GitHub deposu oluşturdunuz ve şablonları depoya yüklediniz.

DevOps projesi oluşturma

Sonraki yordama geçebilmeniz için bir DevOps organizasyonu gerekir. Bir tane yoksa, bkz. Önkoşullar.

  1. Azure DevOps' da oturum açın.

  2. Soldan bir DevOps organizasyonu seçin.

    Azure DevOps Azure Resource Manager Azure Pipelines Azure DevOps projesi oluşturma

  3. Yeni proje'yi seçin. Herhangi bir projeniz yoksa, proje oluştur sayfası otomatik olarak açılır.

  4. Aşağıdaki değerleri girin:

    • Proje adı: bir proje adı girin. Öğreticinin en başından itibaren seçtiğiniz proje adını kullanabilirsiniz.
    • Sürüm denetimi: Git' i seçin. Sürüm denetimini görmek için Gelişmiş ' i genişletmeniz gerekebilir.

    Diğer özellikler için varsayılan değeri kullanın.

  5. Oluştur’u seçin.

Azure 'a projeler dağıtmak için kullanılan bir hizmet bağlantısı oluşturun.

  1. Sol menünün altından proje ayarları ' nı seçin.

  2. İşlem hatları altında hizmet bağlantıları ' nı seçin.

  3. Hizmet bağlantısı oluştur' u seçin, Azure Resource Manager seçin ve ardından İleri' yi seçin.

  4. Hizmet sorumlusu' nı seçin ve ardından İleri' yi seçin.

  5. Aşağıdaki değerleri girin:

    • Kapsam düzeyi: abonelik' ı seçin.
    • Abonelik: Aboneliğinizi seçin.
    • Kaynak grubu: boş bırakın.
    • Bağlantı adı: bir bağlantı adı girin. Örneğin, Azurermpipeline-Conn. Bu adı yazın, işlem hattınızı oluştururken adın olması gerekir.
    • Tüm işlem hatları için erişim Izni verin. seçildiğinde
  6. Kaydet’i seçin.

İşlem hattı oluşturma

Bu aşamada, aşağıdaki görevleri tamamladınız. GitHub ve DevOps hakkında bilgi sahibi olduğunuz için önceki bölümleri atlarsanız, devam etmeden önce görevleri tamamlamalısınız.

  • Bir GitHub deposu oluşturun ve şablonları depodaki Createwebapp klasörüne kaydedin.
  • Bir DevOps projesi oluşturun ve bir Azure Resource Manager hizmet bağlantısı oluşturun.

Şablon dağıtmak için bir adımla işlem hattı oluşturmak için:

  1. Sol menüden işlem hatları ' nı seçin.

  2. İşlem hattı oluştur' u seçin.

  3. Bağlan sekmesinden GitHub’ı seçin. İstenirse, GitHub kimlik bilgilerinizi girin ve ardından yönergeleri izleyin. Aşağıdaki ekranı görürseniz, yalnızca depoları Seç' i seçin ve & yüklemeyi Onayla' yı seçmeden önce depolarınızın listede olduğunu doğrulayın.

    Azure Resource Manager Azure DevOps Azure Pipelines yalnızca depoları Seç

  4. Seç sekmesinden deponuzu seçin. Varsayılan ad [YourAccountName]/[YourGitHubRepositoryName] .

  5. Yapılandır sekmesinde Başlatıcı işlem hattı' nı seçin. İki komut dosyası adımı ile Azure-Pipelines. i ml işlem hattı dosyasını gösterir.

  6. . Yıml dosyasından iki komut dosyası adımını silin.

  7. İmleci adımdan sonraki satıra Taşı :.

  8. Görevler bölmesini açmak için ekranın sağ tarafındaki yardımcıyı göster ' i seçin.

  9. ARM şablon dağıtımı' nı seçin.

  10. Aşağıdaki değerleri girin:

    • Deploymentscope: kaynak grubunu seçin. Kapsamlar hakkında daha fazla bilgi edinmek için bkz. dağıtım kapsamları.
    • Azure Resource Manager bağlantısı: daha önce oluşturduğunuz hizmet bağlantı adını seçin.
    • Abonelik: hedef abonelik kimliğini belirtin.
    • Eylem: kaynak grubunu oluştur veya Güncelleştir eylemini seçin 2 eylem-1. Yeni bir kaynak grubu adı sağlanmışsa, bir kaynak grubu oluşturun; iki. belirtilen şablonu dağıtın.
    • Kaynak grubu: yeni bir kaynak grubu adı girin. Örneğin, Azurermpipeline-RG.
    • Konum: kaynak grubu için bir konum seçin, örneğin Orta ABD.
    • Şablon konumu: dosyanın URL'sini seçin; Bu, görevin URL 'yi kullanarak şablon dosyası için aradığı anlamına gelir. RelativePath ana şablonda kullanıldığından ve RELATIVEPATH yalnızca URI tabanlı dağıtımlarda desteklendiğinden, burada URL 'yi kullanmanız gerekir.
    • Şablon bağlantısı: GitHub deposunu hazırlama bölümünün sonunda aldığınız URL 'yi girin. İle başlar https://raw.githubusercontent.com .
    • Şablon parametreleri bağlantısı: bu alanı boş bırakın. Parametre değerlerini geçersiz kılma şablonu parametrelerinde belirtirsiniz.
    • Şablon parametrelerini geçersiz kıl: girin -projectName [EnterAProjectName] .
    • Dağıtım modu: artımlı' i seçin.
    • Dağıtım adı: Deploypipelinetemplate girin. Dağıtım adını görebilmeniz için Gelişmiş ' i seçin.

    Ekran görüntüsü, gerekli değerler girilen ARM şablonu dağıtım sayfasını gösterir.

  11. Add (Ekle) seçeneğini belirleyin.

    Görev hakkında daha fazla bilgi için bkz. Azure Kaynak grubu dağıtım görevive Azure Resource Manager şablonu Dağıtım görevi

    . Yml dosyası şuna benzer olacaktır:

    Ekran görüntüsü, ardışık düzen YAML 'nizi gözden geçirin başlıklı yeni işlem hattının bulunduğu Inceleme sayfasını gösterir.

  12. Kaydet ve çalıştır’ı seçin.

  13. Kaydet ve Çalıştır bölmesinden Kaydet ' i ve yeniden çalıştır ' ı seçin. YAML dosyasının bir kopyası bağlı depoya kaydedilir. YAML dosyasını deponuza giderek görebilirsiniz.

  14. İşlem hattının başarıyla yürütüldüğünü doğrulayın.

    Azure Resource Manager Azure DevOps Azure Pipelines YAML

Dağıtımı doğrulama

  1. Azure portalında oturum açın.
  2. Kaynak grubunu açın. Bu ad, ardışık düzen YAML dosyasında belirttiğiniz şeydir. Oluşturulmuş bir depolama hesabı görürsünüz. Depolama hesabı adı Mağaza ile başlar.
  3. Açmak için depolama hesabı adını seçin.
  4. Özellikler’i seçin. Çoğaltmanın yerel olarak yedekli depolama (LRS) olduğuna dikkat edin.

Güncelleştir ve yeniden Dağıt

Şablonu güncelleştirdiğinizde ve değişiklikleri uzak depoya gönderdiğinizde, işlem hattı bu durumda kaynakları, depolama hesabını otomatik olarak güncelleştirir.

  1. Visual Studio Code veya herhangi bir metin düzenleyicisinde yerel deponuzdan linkedStorageAccount.js açın.

  2. Storageaccounttype değerinin Standard_GRS olarak değerini güncelleştirin . Aşağıdaki ekran görüntüsüne bakın:

    Azure Resource Manager Azure DevOps Azure Pipelines güncelleştirme YAML

  3. Değişiklikleri kaydedin.

  4. Git Bash/Shell ' den aşağıdaki komutları çalıştırarak, değişiklikleri uzak depoya gönderin.

    git pull origin main
    git add .
    git commit -m "Update the storage account type."
    git push origin main
    

    İlk komut ( pull ) yerel depoyu uzak depoyla eşitler. Ardışık düzen YAML dosyası yalnızca uzak depoya eklendi. Komutu çalıştırmak, pull YAML dosyasının bir kopyasını yerel dala indirir.

    Dördüncü komut ( push ), yeniden düzenlenen linkedStorageAccount.js dosyayı uzak depoya yükler. Uzak deponun ana dalı güncelleştirildiğinden, işlem hattı yeniden tetiklenir.

Değişiklikleri doğrulamak için depolama hesabının çoğaltma özelliğini denetleyebilirsiniz. Bkz. dağıtımı doğrulama.

Kaynakları temizleme

Artık Azure kaynakları gerekli değilse, kaynak grubunu silerek dağıttığınız kaynakları temizleyin.

  1. Azure portal, sol menüden kaynak grubu ' nu seçin.
  2. Ada göre filtrele alanına kaynak grubu adını girin.
  3. Kaynak grubu adını seçin.
  4. Üstteki menüden kaynak grubunu sil ' i seçin.

GitHub deposunu ve Azure DevOps projesini de silmek isteyebilirsiniz.

Sonraki adımlar

Tebrikler, bu Kaynak Yöneticisi şablonu dağıtım öğreticisini tamamladınız. Geri bildirim bölümünde herhangi bir yorum ve öneri varsa bize bilgi verin. Teşekkürler! Şablonlar hakkında daha gelişmiş kavramlara geçmek için hazırsınız. Sonraki öğreticide, dağıtılacak kaynakları tanımlamaya yardımcı olması için şablon başvuru belgelerinin kullanılmasıyla ilgili daha fazla ayrıntıya gidersiniz.