Menyebarkan lingkungan DevTest Labs dengan menggunakan template bertumpuk
Penyebaran bertumpuk menjalankan templat Azure Resource Manager (ARM) sekunder dari dalam template utama. Artikel ini menunjukkan contoh template bertumpuk untuk menyebarkan lingkungan Azure DevTest Labs. Lingkungan DevTest Labs berisi beberapa mesin virtual (VM) infrastructure-as-a-service (IaaS) dengan sumber daya platform-as-a-service (PaaS). Anda dapat menyediakan sumber daya PaaS dan VM dengan menggunakan template ARM.
Menguraikan penyebaran ke dalam serangkaian template khusus tujuan yang ditargetkan memberikan manfaat pengujian, penggunaan kembali, dan keterbacaan. Untuk informasi umum tentang template bertumpuk, termasuk sampel kode, lihat Menggunakan template tertaut dan bertumpuk saat menyebarkan sumber daya Azure.
Catatan
Azure Deployment Environments (ADE) sangat disarankan untuk membuat lingkungan. ADE memberdayakan pengembang untuk menyebarkan infrastruktur aplikasi dengan cepat menggunakan templat berbasis proyek, memastikan lingkungan yang konsisten dan aman untuk tim pengembangan Anda.
Untuk mempelajari selengkapnya tentang Lingkungan Penyebaran Azure, lihat dokumentasi Lingkungan Penyebaran Azure.
Menyebarkan template dengan Visual Studio
Template proyek Azure Resource Group di Visual Studio memudahkan pengembangan dan debug template ARM. Saat Anda menambahkan templat bersarang ke file templat azuredeploy.json utama, Visual Studio menambahkan item berikut untuk membuat templat lebih fleksibel:
- Subfolder dengan file template dan parameter sekunder
- Nama variabel dalam file template utama
- Dua parameter utama,
_artifactsLocation
dan_artifactsLocationSasToken
Di DevTest Labs, Anda menyimpan template ARM di repositori Git yang Anda tautkan ke lab. Saat Anda menggunakan salah satu template repositori tertaut untuk membuat lingkungan baru, penyebaran menyalin file template ke dalam wadah Azure Storage di lab. Saat Anda menambahkan sumber daya template bertumpuk ke repositori dan file template utama, Visual Studio mengidentifikasi _artifactsLocation
dan _artifactsLocationSasToken
nilai, menyalin subfolder ke wadah penyimpanan, dan menyisipkan lokasi dan token Tanda Tangan Akses Bersama (SaS) ke dalam file parameter.
Struktur folder template bertumpuk
Dalam contoh template berikut, folder repositori Git memiliki subfolder, nestedtemplates, dengan file template bersarang NestOne.json dan NestOne.parameters.json. File template utama azuredeploy.json membangun URI untuk template sekunder dengan menggunakan lokasi artefak, folder template bertumpuk, dan nama file template bertumpuk. URI untuk file parameter adalah lokasi artefak, folder template bertumpuk, dan file parameter template bertumpuk. Anda dapat menambahkan lebih banyak subfolder template bertumpuk ke folder utama, tetapi hanya pada satu tingkat bertumpuk.
Cuplikan layar berikut menunjukkan linter di Visual Studio Code:
Contoh penyebaran berlapis
Contoh berikut menunjukkan file template ARM azuredeploy.json utama untuk penyebaran bertumpuk:
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"_artifactsLocation": {
"type": "string"
},
"_artifactsLocationSasToken": {
"type": "securestring"
}},
"variables": {
"NestOneTemplateFolder": "nestedtemplates",
"NestOneTemplateFileName": "NestOne.json",
"NestOneTemplateParametersFileName": "NestOne.parameters.json"},
"resources": [
{
"name": "NestOne",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2016-09-01",
"dependsOn": [ ],
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[concat(parameters('_artifactsLocation'), '/', variables('NestOneTemplateFolder'), '/', variables('NestOneTemplateFileName'), parameters('_artifactsLocationSasToken'))]",
"contentVersion": "1.0.0.0"
},
"parametersLink": {
"uri": "[concat(parameters('_artifactsLocation'), '/', variables('NestOneTemplateFolder'), '/', variables('NestOneTemplateParametersFileName'), parameters('_artifactsLocationSasToken'))]",
"contentVersion": "1.0.0.0"
}
}
}],
"outputs": {}
Langkah berikutnya
- Untuk informasi selengkapnya tentang lingkungan DevTest Labs, lihat Menggunakan template ARM untuk membuat lingkungan DevTest Labs.
- Untuk informasi selengkapnya tentang menggunakan templat proyek Azure Resource Group Visual Studio, termasuk sampel kode, lihat Membuat dan menyebarkan grup sumber daya Azure melalui Visual Studio.