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:
GitHub veya Azure DevOps deponuzda, depo klasör yolunda bir alt klasör oluşturun.
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 Bicep
olabilirARM
. 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.
Geliştirme merkezinizde Kataloglar'a gidin, depoyu seçin ve ardından Eşitle'yi seçin.
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:
- Dağıtımları yürütmek için kapsayıcı görüntüsü yapılandırma
- ARM ve Bicep ile dağıtımları yürütmek için kapsayıcı görüntüsünü yapılandırma
- Terraform ile 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 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.
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.