Tutorial: Menyebarkan template ARM lokal
Pelajari cara menyebarkan template Azure Resource Manager (template ARM) dari komputer lokal Anda. Dibutuhkan sekitar 8 menit untuk menyelesaikannya.
Tutorial ini adalah yang pertama dari seri. Saat Anda maju melalui seri, Anda memodulasi templatee dengan membuat templatee yang ditautkan, Anda menyimpan template yang ditautkan di akun penyimpanan, dan mengamankan templatee yang ditautkan dengan menggunakan token SAS, dan Anda belajar cara membuat alur DevOps untuk menyebarkan template. Seri ini berfokus pada penyebaran template. Jika Anda ingin mempelajari penyebaran template, lihat tutorial pemula.
Dapatkan alat
Mari mulai dengan memastikan Anda memiliki alat yang Anda butuhkan untuk menyebarkan template.
Penyebaran baris perintah
Anda memerlukan Azure PowerShell atau Azure CLI untuk menyebarkan templat. Untuk petunjuk penginstalan, lihat:
- Instal Azure PowerShell.
- Instal Azure CLI di Windows
- Instal Azure CLI di Linux
- Instal Azure CLI di macOS
Setelah menginstal Azure PowerShell atau Azure CLI, pastikan Anda masuk untuk pertama kalinya. Untuk bantuan, lihat Masuk - PowerShell atau Masuk - Azure CLI.
Editor (Opsional)
Templat adalah file JSON. Untuk meninjau/mengedit template, Anda memerlukan editor JSON yang baik. Kami menyarankan Visual Studio Code dengan ekstensi Alat Resource Manager. Jika Anda perlu menginstal alat ini, lihat Mulai cepat: Membuat templat ARM dengan Visual Studio Code.
Meninjau templat
template tersebut menyebarkan akun penyimpanan, paket layanan aplikasi, dan aplikasi web. Jika Anda tertarik untuk membuat template, Anda dapat mengikuti tutorial tentang template Mulai Cepat. Namun tidak diperlukan untuk menyelesaikan tutorial ini.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"projectName": {
"type": "string",
"minLength": 3,
"maxLength": 11,
"metadata": {
"description": "Specify a project name that is used to generate resource names."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specify a location for the resources."
}
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
],
"metadata": {
"description": "Specify the storage account type."
}
},
"linuxFxVersion": {
"type": "string",
"defaultValue": "php|7.0",
"metadata": {
"description": "Specify the Runtime stack of current web app"
}
}
},
"variables": {
"storageAccountName": "[format('{0}{1}', parameters('projectName'), uniqueString(resourceGroup().id))]",
"webAppName": "[format('{0}WebApp', parameters('projectName'))]",
"appServicePlanName": "[format('{0}Plan', parameters('projectName'))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2023-01-01",
"name": "[variables('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2022-09-01",
"name": "[variables('appServicePlanName')]",
"location": "[parameters('location')]",
"sku": {
"name": "B1",
"tier": "Basic",
"size": "B1",
"family": "B",
"capacity": 1
},
"kind": "linux",
"properties": {
"perSiteScaling": false,
"reserved": true,
"targetWorkerCount": 0,
"targetWorkerSizeId": 0
}
},
{
"type": "Microsoft.Web/sites",
"apiVersion": "2022-09-01",
"name": "[variables('webAppName')]",
"location": "[parameters('location')]",
"kind": "app",
"properties": {
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]",
"siteConfig": {
"linuxFxVersion": "[parameters('linuxFxVersion')]"
}
},
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]"
]
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2023-01-01').primaryEndpoints]"
}
}
}
Penting
Nama akun penyimpanan harus unik, memiliki panjang antara 3 sampai 24 karakter, dan hanya menggunakan angka dan huruf kecil. Variabel storageAccountName
templat sampel menggabungkan maksimum parameter projectName
dari 11 karakter dengan nilai uniqueString berisi 13 karakter.
Simpan salinan template ke komputer lokal Anda dengan ekstensi .json, contohnya, azuredeploy.json. Anda menyebarkan template ini nanti dalam tutorial.
Masuk ke Azure
Untuk mulai bekerja dengan Azure PowerShell/Azure CLI untuk menyebarkan template, masuk dengan info masuk Azure Anda.
Connect-AzAccount
Jika Anda memiliki beberapa langganan Azure, pilih langganan yang ingin Anda gunakan. Ganti [SubscriptionID/SubscriptionName]
dan kurung siku []
dengan informasi langganan Anda:
Set-AzContext [SubscriptionID/SubscriptionName]
Buat grup sumber daya
Saat Anda menyebarkan templat, Anda menentukan grup sumber daya yang akan berisi sumber daya. Sebelum menjalankan perintah penyebaran, buat grup sumber daya dengan Azure CLI atau Azure PowerShell. Pilih tab di bagian kode berikut untuk memilih antara Azure PowerShell dan Azure CLI. Contoh CLI dalam artikel ini ditulis untuk shell Bash.
$projectName = Read-Host -Prompt "Enter a project name that is used to generate resource and resource group names"
$resourceGroupName = "${projectName}rg"
New-AzResourceGroup `
-Name $resourceGroupName `
-Location "Central US"
Menyebarkan templat
Gunakan satu atau kedua opsi penyebaran untuk menyebarkan template.
$projectName = Read-Host -Prompt "Enter the same project name"
$templateFile = Read-Host -Prompt "Enter the template file path and file name"
$resourceGroupName = "${projectName}rg"
New-AzResourceGroupDeployment `
-Name DeployLocalTemplate `
-ResourceGroupName $resourceGroupName `
-TemplateFile $templateFile `
-projectName $projectName `
-verbose
Untuk mempelajari selengkapnya tentang penyebaran template dengan menggunakan Azure PowerShell, lihat Menyebarkan sumber daya dengan template ARM dan Azure PowerShell.
Membersihkan sumber daya
Bersihkan sumber daya yang Anda terapkan dengan menghapus grup sumber daya.
- Dari portal Microsoft Azure, pilih Grup sumber daya dari menu sebelah kiri.
- Masukkan nama grup sumber daya di bidang Filter menurut nama.
- Pilih nama grup sumber daya.
- Pilih Hapus grup sumber daya dari menu atas.
Langkah berikutnya
Anda mempelajari cara menyebarkan template lokal. Dalam tutorial berikutnya, Anda memisahkan template menjadi template utama dan template yang ditautkan, dan belajar cara menyimpan dan mengamankan template yang ditautkan.