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

Önceki öğreticide bağlantılı bir şablon dağıtacaksı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ş planlamak, kod geliştirmede işbirliği yapmak ve uygulamaları oluşturmak ve dağıtmak için destek takımları için geliştirici servisleri 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 özellik kümesi sağlar. Azure Pipelines 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ısıyla çalışır ve çoğu büyük bulut hizmeti için dağıtım yapabilir. Ardından kodunuzun Microsoft Azure, Google Cloud Platform veya Amazon Web Services'e derle, test etme ve dağıtımını otomatikleştirebilirsiniz.

Dekont

Bir proje adı seçin. Öğreticiyi tamamladığınızda ARMPipelineProj'dan herhangi birini proje adınız ile değiştirin. Bu proje adı kaynak adları oluşturmak için kullanılır. Kaynaklardan biri depolama hesabıdır. Depolama hesabı adlarının uzunluğu 3 ila 24 karakter olmalı ve yalnızca rakam ve küçük harf kullanılmalıdır. Ad benzersiz olmalıdır. Şablonda, depolama hesabı adı deponun eklendiği proje adıdır ve proje adı 3 ile 11 karakter arasında olmalıdır. Bu nedenle proje adının depolama hesabı adı gereksinimlerini karşılaması ve 11 karakterden az olması gerekir.

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, Resource Manager ş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çma.

  2. Sağ üst köşedeki hesap resminizi seçin ve ardından Depolarınız'ı seçin.

    Screenshot of creating a GitHub repository for Azure Resource Manager Azure DevOps Azure Pipelines.

  3. Yeni, yeşil düğme'yi seçin.

  4. Depo adı alanına bir depo adı girin. Örneğin, ARMPipeline-repo. ARMPipeline'den herhangi birini proje adınız ile değiştirmeyi unutmayın. Bu öğreticiye gitmek için Genel veya özel'i seçebilirsiniz. Ardından Depo oluştur'u seçin.

  5. URL'yi not edin. Depo URL'si şu biçimdedir: https://github.com/[YourAccountName]/[YourRepositoryName].

Bu depo, uzak depo olarak adlandırılır. Aynı projenin geliştiricileri kendi yerel depolarını kopyalayabilir ve değişiklikleri uzak depoyla birleştirebilir.

Uzak depoyu kopyalama

  1. Git Shell'i 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 create_web_app
    cd create_web_app
    pwd
    

    değerini [YourAccountName] GitHub hesabınızın adıyla, değerini ise önceki yordamda oluşturduğunuz depo adıyla değiştirin [YourGitHubRepositoryName] .

create_web_app klasörü, şablonun depolandığı klasördür. pwd komutu 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 create_web_app klasörüne kaydedebilirsiniz.

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

Şablonu uzak depoya gönderme

azuredeploy.json yerel depoya eklendi. Ardından, şablonu uzak depoya yüklersiniz.

  1. Açılmamışsa Git Shell'i veya Git Bash'i açın.

  2. Dizini yerel deponuzdaki create_web_app klasörüne değiştirin.

  3. azuredeploy.json dosyasının 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. ana daldır. Genellikle her güncelleştirme için bir dal oluşturursunuz. Öğreticiyi basitleştirmek için doğrudan ana dalı kullanırsınız.

  5. Bir tarayıcıdan GitHub deponuza göz atın. URL'si şeklindedir https://github.com/[YourAccountName]/[YourGitHubRepository]. create_web_app klasörünü ve klasörün içindeki iki dosyayı görürsünüz.

  6. Şablonu açmak için azuredeploy.json dosyasını seçin.

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

  8. URL’nin kopyasını oluşturun. Öğreticinin ilerleyen bölümlerinde işlem hattını 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 kuruluşu gereklidir. Uygulamanız yoksa bkz . Önkoşullar.

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

  2. Soldan bir DevOps kuruluşu seçin ve ardından Yeni proje'yi seçin. Herhangi bir projeniz yoksa proje oluşturma sayfası otomatik olarak açılır.

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

    Screenshot of creating an Azure DevOps project for Azure Resource Manager Azure DevOps Azure Pipelines.

    • Proje adı: Bir proje adı girin. Öğreticinin en başında seçtiğiniz proje adını kullanabilirsiniz.
    • Görünürlük: Özel'i seçin.

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

  4. Oluştur’u seçin.

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

  1. Sol menünün alt kısmından Proje ayarları'nı seçin.

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

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

  4. Hizmet sorumlusu (otomatik) öğesini ve ardından İleri'yi seçin.

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

    • Kapsam düzeyi: Abonelik'i seçin.
    • Abonelik: Aboneliğinizi seçin.
    • Kaynak Grubu: Boş bırakın.
    • Bağlan ion adı: Bir bağlantı adı girin. Örneğin, ARMPipeline-conn. Bu adı not edin, işlem hattınızı oluştururken bu ada ihtiyacınız vardır.
    • Tüm işlem hatlarına erişim izni verin. (seçili)
  6. Kaydet'i seçin.

İşlem hattı oluşturma

Şimdiye kadar 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 tamamlamanız gerekir.

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

Şablon dağıtma adımıyla işlem hattı oluşturmak için:

  1. Soldaki menüden İş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 yönergeleri izleyin. Aşağıdaki ekranı görüyorsanız, Yalnızca depoları seçin'i seçin ve Onayla ve Yükle'yi seçmeden önce deponuzun listede olduğunu doğrulayın.

    Screenshot of selecting repositories for Azure Resource Manager Azure DevOps Azure Pipelines.

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

  5. Yapılandır sekmesinde Başlatıcı işlem hattı'nı seçin. İki betik adımıyla azure-pipelines.yml işlem hattı dosyasını gösterir.

  6. .yml dosyasından iki betik adımını silin.

  7. İmleci adımdan sonra çizgiye taşıyın:

  8. Ekranın sağ tarafındaki Yardımcıyı göster'i seçerek Görevler bölmesini açın.

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

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

    • deploymentScope: Kaynak Grubu'nun 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ısı adını seçin.
    • Abonelik: Hedef abonelik kimliğini belirtin.
    • Eylem: Kaynak Grubu Oluştur veya Güncelleştir eylemi 2 eylem yapar - 1'i seçin. yeni bir kaynak grubu adı sağlanmışsa bir kaynak grubu oluşturun; 2. belirtilen şablonu dağıtın.
    • Kaynak grubu: Yeni bir kaynak grubu adı girin. Örneğin, ARMPipeline-rg.
    • Konum: Kaynak grubu için orta ABD gibi bir konum seçin.
    • Şablon konumu: Dosyanın URL'sini seçin; başka bir deyişle görev, URL'yi kullanarak şablon dosyasını arar. RelativePath ana şablonda kullanıldığından ve relativePath yalnızca URI tabanlı dağıtımlarda desteklendiğinden, url'yi burada kullanmanız gerekir.
    • Şablon bağlantısı: GitHub deposu hazırlama bölümünün sonunda aldığınız URL'yi girin. ile https://raw.githubusercontent.combaşlar.
    • Şablon parametreleri bağlantısı: Bu alanı boş bırakın. Geçersiz kılma şablonu parametrelerinde parametre değerlerini belirtirsiniz.
    • Şablon parametrelerini geçersiz kıl: girin -projectName [EnterAProjectName].
    • Dağıtım modu: Artımlı'ı seçin.
    • Dağıtım adı: DeployPipelineTemplate yazın. Dağıtım adını göremeden önce Gelişmiş'i seçin.

    Screenshot of the ARM template deployment page with required values entered for Azure DevOps Azure Pipelines.

  11. Ekle'yi seçin.

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

    .yml dosyası şuna benzer olacaktır:

    Screenshot of the Review page with the new pipeline titled Review your pipeline YAML for Azure DevOps Azure Pipelines.

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

  13. Kaydet ve çalıştır bölmesinde Kaydet'i seçin ve yeniden çalıştırın. YAML dosyasının bir kopyası bağlı depoya kaydedilir. DEPOnuza göz atarak YAML dosyasını görebilirsiniz.

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

    Screenshot of Azure Resource Manager Azure DevOps Azure Pipelines YAML file.

Dağıtımı doğrulama

  1. Azure Portal oturum açın.
  2. Kaynak grubunu açın. Ad, işlem hattı YAML dosyasında belirttiğiniz addır. Bir depolama hesabının oluşturulduğunu göreceksiniz. Depolama hesabı adı mağaza ile başlar.
  3. Depolama hesabı adını seçerek açın.
  4. Özellikleri'i seçin. Çoğaltma'nın Yerel olarak yedekli depolama (LRS) olduğuna dikkat edin.

Güncelleştirme ve yeniden dağıtma

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

  1. Yerel deponuzdan linked Depolama Account.json dosyasını Visual Studio Code'da veya herhangi bir metin düzenleyicisinde açın.

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

    Screenshot of updating the YAML file for Azure Resource Manager Azure DevOps Azure Pipelines.

  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. İşlem hattı YAML dosyası yalnızca uzak depoya eklendi. pull komutunu çalıştırmak YAML dosyasının bir kopyasını yerel dala indirir.

    Dördüncü komut (push) düzeltilmiş linked Depolama Account.json dosyasını uzak depoya yükler. Uzak deponun ana dalı güncelleştirildiğinde işlem hattı yeniden tetiklenir.

Değişiklikleri doğrulamak için depolama hesabının Çoğaltma özelliğini de kontrol edebilirsiniz. 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 portalda, 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 Resource Manager şablonu dağıtım öğreticisini tamamladınız. Geri bildirim bölümünde yorum ve önerileriniz olup olmadığını bize bildirin. Teşekkür ederiz! Şablonlar hakkında daha gelişmiş kavramlar oluşturmaya hazırsınız. Bir sonraki öğreticide, dağıtılacak kaynakları tanımlamaya yardımcı olmak için şablon başvuru belgelerini kullanma hakkında daha ayrıntılı bilgi sağlanır.