Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yerel makinenizden Azure Resource Manager şablonu (ARM şablonu) dağıtmayı öğrenin. Tamamlanması yaklaşık 8 dakika sürer.
Bu öğretici, serinin ilk öğreticisidir. Seride ilerledikçe, bağlantılı bir şablon oluşturarak şablonu modüler hale getirmek, bağlantılı şablonu bir depolama hesabında depolamak, SAS belirteci kullanarak bağlantılı şablonun güvenliğini sağlamak ve şablonları dağıtmak için DevOps işlem hattı oluşturmayı öğreneceksiniz. Bu seri şablon dağıtımına odaklanır. Şablon geliştirmeyi öğrenmek istiyorsanız başlangıç öğreticilerine bakın.
Araçları alma
Şablonları dağıtmak için ihtiyacınız olan araçlara sahip olduğunuzdan emin olun.
Komut satırı dağıtımı
Şablonu dağıtmak için Azure PowerShell veya Azure CLI gerekir. Yükleme yönergeleri için bkz:
- Azure PowerShell’i yükleme
- Azure CLI'yi Windows'a yükleme
- Linux'ta Azure CLI Yükleme
- macOS'ta Azure CLI'yi yükleme
Azure PowerShell'i veya Azure CLI'yı yükledikten sonra ilk kez oturum açın. Yardım için bkz . Oturum açma - PowerShell veya Oturum açma - Azure CLI.
Düzenleyici (İsteğe bağlı)
Şablonlar JSON dosyalarıdır. Şablonları gözden geçirmek veya düzenlemek için Visual Studio Code'ı kullanabilirsiniz.
Şablonu gözden geçirme
Şablon bir depolama hesabı, app service planı ve web uygulaması dağıtır. Şablonu oluşturmakla ilgileniyorsanız bkz . Hızlı başlangıç şablonları öğreticisi. Ancak, bu öğreticiyi tamamlamak için şablonu oluşturmanız gerekmez.
{
"$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": "2025-06-01",
"name": "[variables('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2025-03-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": "2025-03-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]"
}
}
}
Önemli
Depolama hesabı adları benzersiz olmalı, 3 ile 24 karakter uzunluğunda olmalı ve yalnızca sayı ve küçük harf kullanmalıdır. Örnek şablonun storageAccountName değişkeni, parametrenin projectName en fazla 11 karakterlik değerini 13 karakterlik benzersiz birString değeriyle birleştirir.
Şablonun bir kopyasını .json uzantısıyla yerel bilgisayarınıza kaydedin, örneğin, azuredeploy.json. Bu şablonu öğreticinin ilerleyen bölümlerinde dağıtacaksınız.
Azure'da oturum açma
Şablon dağıtmak için Azure PowerShell veya Azure CLI ile çalışmaya başlamak için Azure kimlik bilgilerinizle oturum açın.
Connect-AzAccount
Birden çok Azure aboneliğiniz varsa, kullanmak istediğiniz aboneliği seçin. ve köşeli ayraçları [SubscriptionID/SubscriptionName] abonelik bilgilerinizle değiştirin[]:
Set-AzContext [SubscriptionID/SubscriptionName]
Kaynak grubu oluştur
Şablon dağıttığınızda, kaynaklar için bir kaynak grubu belirtirsiniz. Dağıtım komutunu çalıştırmadan önce Azure CLI veya Azure PowerShell ile kaynak grubunu oluşturun. Azure PowerShell ile Azure CLI arasında seçim yapmak için aşağıdaki kod bölümünde yer alan sekmeleri seçin. Bu makaledeki CLI örnekleri Bash kabuğu için yazılmıştır.
$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"
Şablon dağıtma
Şablonu dağıtmak için bir veya her iki dağıtım seçeneğini kullanın.
$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
Azure PowerShell kullanarak şablon dağıtma hakkında daha fazla bilgi edinmek için bkz . ARM şablonları ve Azure PowerShell ile kaynak dağıtma.
Kaynakları temizleme
Dağıtmış olduğunuz kaynakları temizlemek için kaynak grubunu silin.
- Azure portalda, sol menüden Kaynak grubu’nu seçin.
- Ada göre filtrele alanına kaynak grubu adını girin.
- Kaynak grubu adını seçin.
- Üstteki menüden Kaynak grubunu sil’i seçin.
Sonraki adımlar
Yerel şablon dağıtmayı öğrendinsiniz. Sonraki öğreticide, şablonu bir ana şablona ve bağlı bir şablona ayıracaksınız. Ayrıca bağlantılı şablonu depolamayı ve güvenliğini sağlamayı da öğrenirsiniz.