Nasazení prostředí DevTest Labs pomocí vnořených šablon

Vnořené nasazení spouští sekundární šablony Azure Resource Manager (ARM) z hlavní šablony. Tento článek ukazuje příklad vnoření šablon pro nasazení prostředí Azure DevTest Labs. Prostředí DevTest Labs obsahují několik virtuálních počítačů infrastruktury jako služby (IaaS) s nainstalovanými prostředky platformy jako služby (PaaS). Prostředky a virtuální počítače PaaS můžete zřídit pomocí šablon ARM.

Rozdělení nasazení do sady cílených šablon specifických pro účely poskytuje výhody testování, opakovaného použití a čitelnosti. Obecné informace o vnořených šablonách, včetně ukázek kódu, najdete v tématu Použití propojených a vnořených šablon při nasazování prostředků Azure.

Nasazení vnořených šablon pomocí sady Visual Studio

Šablona projektu Skupiny prostředků Azure v sadě Visual Studio usnadňuje vývoj a ladění šablon ARM. Když do hlavního souboru šablony azuredeploy.json přidáte vnořenou šablonu, visual Studio přidá následující položky, aby byla šablona flexibilnější:

  • Podsložka se sekundární šablonou a soubory parametrů
  • Názvy proměnných v hlavním souboru šablony
  • Dva klíčové parametry a _artifactsLocation_artifactsLocationSasToken

V DevTest Labs ukládáte šablony ARM do úložiště Git, které propojtete s testovacím prostředím. Když použijete jednu z propojených šablon úložiště k vytvoření nového prostředí, nasazení zkopíruje soubory šablony do kontejneru Azure Storage v testovacím prostředí. Když do úložiště a hlavního souboru šablony přidáte vnořený prostředek šablony, Visual Studio identifikuje _artifactsLocation hodnoty a , _artifactsLocationSasToken zkopíruje podsložky do kontejneru úložiště a vloží do souborů parametrů token umístění a sdíleného přístupového podpisu (SaS).

Struktura složek vnořených šablon

V následujícím příkladu šablony má složka úložiště Git podsložku vnořené šablony s vnořenými soubory šablon NestOne.json a NestOne.parameters.json. Hlavní soubor šablony azuredeploy.json vytvoří identifikátor URI pro sekundární šablony pomocí umístění artefaktů, vnořené složky šablony a vnořeného názvu souboru šablony. Identifikátor URI souboru parametrů je umístění artefaktů, vnořená složka šablony a soubor vnořených parametrů šablony. Do primární složky můžete přidat další vnořené podsložky šablony, ale jenom na jedné úrovni vnoření.

Následující snímek obrazovky znázorňuje strukturu projektu v sadě Visual Studio:

Snímek obrazovky znázorňující strukturu vnořené šablony projektu v sadě Visual Studio

Příklad vnořeného nasazení

Následující příklad ukazuje hlavní soubor šablony ARM azuredeploy.json pro vnořené nasazení:


"$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": {}

Další kroky