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.

Dağıtım Ortamları'nda, geliştirme ekiplerinize ortam tanımları adı verilen önceden tanımlanmış kod olarak altyapı (IaC) şablonlarından oluşan bir küme 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.jsonadlı bir dosya kullanabilir.
    • Bicep dosyası 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 örnek bir katalog sağlar. 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

Dağıtım Ortamları'ndaki 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
      

      Bu tabloda environment.yaml dosyasındaki alanlar açıklanmaktadır:

      Alan Açıklama
      name Ortam tanımının adı.
      version Ortam tanımının sürümü. Bu alan isteğe bağlıdır.
      summary Ortam tanımının kısa bir açıklaması.
      description Ortam tanımının ayrıntılı açıklaması.
      runner Şablonun kullandığı IaC çerçevesi. Değer ARM veya Bicep olabilir. Kapsayıcı kayıt defterinde depolanan bir kapsayıcı görüntüsünün 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 merkezinizdeki Ortam yapılandırması'nın altında Kataloglar'ı seçin. 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üleri kullanın

Dağıtım Ortamları, 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. Dağıtım Ortamları 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 Dağıtım Ortamları, 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, scriptleri dağıtımdan önce veya sonra gerçekleştirebilirsiniz. Dağıtım Ortamları ortam dağıtımları için özel kapsayıcı görüntülerini destekler. Bu, Pulumi ve Terraform gibi IaC çerçevelerinin dağıtılmasına yardımcı olabilir.

Başlamak için Microsoft Artifact Registry (Microsoft Container Registry olarak da bilinir) aracılığıyla örnek ARM ve Bicep kapsayıcı görüntüleri alabilirsiniz.

Özel kapsayıcı görüntüsü oluşturma hakkında daha fazla bilgi için bkz. Dağıtımları yürütmek için kapsayıcı görüntüsü yapılandırma.

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

environment.yaml dosyasında özelliği, runner kullanmak istediğiniz görüntünün konumunu belirtir. Microsoft Artifact Registry'de yayımlanan örnek görüntüyü kullanmak için aşağıdaki tabloda listelenen değerleri kullanın runner .

IaC çerçevesi runner değer
KOL KOL
Kol kası Kol kası
Terraform yazılımı Örnek görüntü yok. Bunun yerine özel bir kapsayıcı görüntüsü kullanın.

Aşağıdaki örnek, örnek Bicep kapsayıcı görüntüsüne referans alan bir runner özelliği göstermektedir.

    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

Depoda depolanan özel kapsayıcı görüntüsünü kullanmak için environment.yaml dosyasında aşağıdaki runner biçimi kullanın:

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

runner Bu örnekte gösterildiği gibi deponuza ve özel görüntünüze başvurmak için değeri 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
Mülkiyet Açıklama
KAYDİNİZ Özel görüntüyü depolayan kayıt defteri.
DEPO_ADINIZ Bu kayıttaki 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

Daha fazla bilgi 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.

Geliştirici portalındaki parametreler bölmesinin ekran görüntüsü.

Geliştiriciler, Azure CLI aracılığıyla ortamları için belirli parametreler için değerler de 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

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şkili 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

Ortam tanımını silmek için, depoda şablon dosyasını ve ilişkili environment.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 bu tanımı kullanamaz. Silinen ortam tanımını kullanan mevcut ortamlar için ortam tanımı başvurularını güncelleştirin. Referans güncellenmezse ve ortam yeniden dağıtılırsa, dağıtım başarısız olur.