Aracılığıyla paylaş


Ortam tanımı ekleme ve yapılandırma

Bu makalede, Azure Dağıtım Ortamları kataloğunda ortam tanımı ekleme, güncelleştirme veya silme işlemi açıklanır. Ayrıca ortamınızı dağıtmak için bir kapsayıcı görüntüsüne başvurmayı da açıklar.

Azure Dağıtım Ortamları'nda, geliştirme ekiplerinize ortam tanımları adı verilen önceden tanımlanmış kod olarak altyapı (IaC) şablonları kümesi sağlamak için bir katalog kullanırsınız.

Ortam tanımı en az iki dosyadan oluşur:

  • IaC çerçevesinden bir şablon. Örneğin:
    • Azure Resource Manager (ARM) şablonu azuredeploy.json adlı bir dosya kullanabilir.
    • Bicep şablonu main.bicep adlı bir dosya kullanabilir.
    • Terraform şablonu azuredeploy.tf adlı bir dosya kullanabilir.
  • Şablon hakkında meta veriler sağlayan bir yapılandırma dosyası. Bu dosya environment.yaml olarak adlandırılmalıdır.

Geliştirme ekipleriniz, Azure'da ortamları dağıtmak için katalogda sağladığınız ortam tanımlarını kullanır.

Microsoft, deponuz olarak kullanabileceğiniz bir örnek katalog sunar. Ayrıca kendi özel deponuzu kullanabilir veya örnek katalogda ortam tanımlarını çatallayabilir ve özelleştirebilirsiniz.

Geliştirme merkezinize bir katalog ekledikten sonra hizmet, şablon ve ilişkili bir ortam dosyası içeren klasörleri tanımlamak için belirtilen klasör yolunu tarar. Belirtilen klasör yolu, ortam tanımı dosyalarını barındıran alt klasörleri içeren bir klasör olmalıdır.

Ortam tanımı ekleme

Azure Dağıtım Ortamları'nda (ADE) bir kataloğa ortam tanımı eklemek için önce dosyaları depoya eklersiniz. Ardından geliştirme merkezi kataloğunu güncelleştirilmiş depoyla eşitlersiniz.

Ortam tanımı eklemek için:

  1. GitHub veya Azure DevOps deponuzda, depo klasör yolunda bir alt klasör oluşturun.

  2. Yeni depo alt klasörüne iki dosya ekleyin:

    • IaC şablon dosyası.

    • YAML dosyası olarak bir ortam.

      environment.yaml dosyası IaC şablonuyla ilgili meta verileri içerir.

      Aşağıdaki betik, ARM şablonu için environment.yaml dosyasının içeriğine bir örnektir:

          name: WebApp
          version: 1.0.0
          summary: Azure Web App Environment
          description: Deploys a web app in Azure without a datastore
          runner: ARM
          templatePath: azuredeploy.json
      

      environment.yaml dosyasındaki alanları anlamak için aşağıdaki tabloyu kullanın:

      Alan Veri Akışı Açıklaması
      Adı Ortam tanımının adı.
      sürüm Ortam tanımının sürümü. Bu alan isteğe bağlıdır.
      Özet Ortam tanımının kısa bir açıklaması.
      açıklama Ortam tanımının ayrıntılı açıklaması.
      Runner Şablonun kullandığı IaC çerçevesi. Değer veya BicepolabilirARM. Kapsayıcı kayıt defterinde depolanan bir şablonun yolunu da belirtebilirsiniz.
      templatePath IaC şablon dosyasının yolu.

      environment.yaml dosyasında kullanabileceğiniz seçenekler ve veri türleri hakkında daha fazla bilgi edinmek için bkz. environment.yaml dosyasındaki parametreler ve veri türleri.

  3. Geliştirme merkezinizde Kataloglar'a gidin, depoyu seçin ve ardından Eşitle'yi seçin.

    Kataloğun nasıl eşitleneceğini gösteren ekran görüntüsü.

Hizmet, yeni ortam tanımlarını bulmak için depoyu tarar. Depoyu eşitledikten sonra, geliştirme merkezindeki tüm projeler için yeni ortam tanımları kullanılabilir.

Ortamları dağıtmak için kapsayıcı görüntülerini kullanma

ADE, dağıtım ortamlarına yönelik şablonların nasıl dağıtılacağını tanımlamak için kapsayıcı görüntülerini kullanır. ADE ARM ve Bicep'i yerel olarak desteklediğinden, şablon dosyalarını (azuredeploy.json ve environment.yaml) kataloğunuza ekleyerek dağıtım ortamı için Azure kaynaklarını dağıtan bir ortam tanımı yapılandırabilirsiniz. Ardından ADE, dağıtım ortamını oluşturmak için standart bir ARM veya Bicep kapsayıcı görüntüsü kullanır.

Daha gelişmiş ortam dağıtımları için özel kapsayıcı görüntüleri oluşturabilirsiniz. Örneğin, betikleri dağıtımdan önce veya sonra çalıştırabilirsiniz. ADE, Pulumi ve Terraform gibi IaC çerçevelerinin dağıtılmasına yardımcı olabilecek ortam dağıtımları için özel kapsayıcı görüntülerini destekler.

ADE ekibi, başlamanıza yardımcı olmak için Microsoft Yapıt Kayıt Defteri (Microsoft Container Registry olarak da bilinir) aracılığıyla erişilebilen örnek ARM ve Bicep kapsayıcı görüntüleri sağlar.

Özel kapsayıcı görüntüsü oluşturma hakkında daha fazla bilgi için bkz:

ARM veya Bicep örnek kapsayıcı görüntüsünü belirtme

environment.yaml dosyasında runner özelliği, kullanmak istediğiniz görüntünün konumunu belirtir. Microsoft Yapıt Kayıt Defteri yayımlanan örnek görüntüyü kullanmak için, aşağıdaki tabloda listelendiği gibi ilgili tanımlayıcı çalıştırıcısını kullanın.

IaC çerçevesi Çalıştırıcı değeri
ARM ARM
Bicep Bicep
Terraform Örnek görüntü yok. Bunun yerine özel bir kapsayıcı görüntüsü kullanın.

Aşağıdaki örnekte, örnek Bicep kapsayıcı görüntüsüne başvuran bir çalıştırıcı gösterilmektedir:

    name: WebApp
    version: 1.0.0
    summary: Azure Web App Environment
    description: Deploys a web app in Azure without a datastore
    runner: Bicep
    templatePath: azuredeploy.json

Özel kapsayıcı görüntüsü belirtme

Bir depoda depolanan özel kapsayıcı görüntüsünü kullanmak için environment.yaml dosyasında aşağıdaki çalıştırıcı biçimini kullanın:

runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}”`

Aşağıdaki örnekte gösterildiği gibi, deponuza ve özel görüntünüze başvurmak için çalıştırıcı değerini düzenleyin:

    name: WebApp
    version: 1.0.0
    summary: Azure Web App Environment
    description: Deploys a web app in Azure without a datastore
    runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}"
    templatePath: azuredeploy.json
Özellik Açıklama
YOUR_REGISTRY Özel görüntüyü depolayan kayıt defteri.
YOUR_REPOSITORY Bu kayıt defterindeki deponuz.
YOUR_TAG Sürüm numarası gibi bir etiket.

Ortam tanımı için parametreleri belirtme

Geliştiricilerin ortamlarını özelleştirmesine izin vermek için ortam tanımlarınız için parametreler belirtebilirsiniz.

Parametreler environment.yaml dosyasında tanımlanır.

Aşağıdaki betik, iki parametre içeren bir ARM şablonu için environment.yaml dosyası örneğidir; location ve name:

name: WebApp
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: ARM
templatePath: azuredeploy.json
parameters:
- id: "location"
  name: "location"
  description: "Location to deploy the environment resources"
  default: "[resourceGroup().location]"
  type: "string"
  required: false
- id: "name"
  name: "name"
  description: "Name of the Web App "
  default: ""
  type: "string"
  required: false

environment.yaml dosyasında kullanabileceğiniz parametreler ve veri türleri hakkında daha fazla bilgi edinmek için bkz. environment.yaml dosyasındaki parametreler ve veri türleri.

Geliştiriciler, geliştirici portalı aracılığıyla ortamları için belirli parametreler için değer sağlayabilir.

Parametreler bölmesini gösteren geliştirici portalının ekran görüntüsü.

Geliştiriciler ayrıca CLI aracılığıyla ortamları için belirli parametreler için değer sağlayabilir.

az devcenter dev environment create --environment-definition-name
                                    --catalog-name
                                    --dev-center
                                    --environment-name
                                    --environment-type
                                    --project
                                    [--description]
                                    [--no-wait]
                                    [--parameters]
                                    [--tags]
                                    [--user]
                                    [--user-id]

Komut hakkında az devcenter dev environment create daha fazla bilgi edinmek için bkz . Azure CLI geliştirici merkezi uzantısı.

Ortam tanımını güncelleştirme

Azure Dağıtım Ortamları'ndaki mevcut bir ortam tanımında Azure kaynaklarının yapılandırmasını değiştirmek için depodaki ilişkili şablon dosyasını güncelleştirin. Değişiklik, belirli bir ortam tanımını kullanarak yeni bir ortam oluşturduğunuzda hemen yansıtılır. Güncelleştirme, bu ortam tanımıyla ilişkilendirilmiş bir ortamı yeniden dağıttığınızda da uygulanır.

Şablonla ilgili meta verileri güncelleştirmek için environment.yaml dosyasını değiştirin ve kataloğu güncelleştirin.

Ortam tanımını silme

Var olan bir ortam tanımını silmek için, depoda şablon dosyasını ve ilişkili ortam YAML dosyasını içeren alt klasörü silin. Ardından kataloğu güncelleştirin.

Bir ortam tanımını sildikten sonra geliştirme ekipleri artık yeni bir ortam dağıtmak için belirli bir ortam tanımını kullanamaz. Silinen ortam tanımını kullanan mevcut ortamlar için ortam tanımı başvurularını güncelleştirin. Başvuru güncelleştirilmezse ve ortam yeniden dağıtılırsa dağıtım başarısız olur.