Sdílet prostřednictvím


Vnořené šablony v prostředích DevTest Labs

Prostředí Azure DevTest Labs se skládá z několika IaaS (infrastruktura jako služba) virtuálních počítačů s nainstalovanými prostředky PaaS (platforma jako služba). Prostředí DevTest Labs můžete zřídit a nasadit pomocí šablon Azure Resource Manageru (ARM).

Pokud chcete nasadit složitá řešení, jako jsou prostředí, můžete šablonu rozdělit do sekundárních šablon a nasadit tyto šablony prostřednictvím hlavní šablony. Tento článek popisuje použití vnořených šablon k nasazení prostředí DevTest Labs. Použití sady cílených šablon specifických pro účely nasazení prostředí podporuje testování, opakované použití a čitelnost.

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.

Poznámka:

Pokud potřebujete spravovat prostředky, zásady a nastavení zabezpečení PaaS na podnikové úrovni nebo integraci CI/CD mezi fázemi nasazení a aplikacemi, zvažte použití prostředí azure Deployment Environment (ADE) k vytváření prostředí. ADE umožňuje vývojářům rychle nasazovat infrastrukturu aplikací pomocí projektových šablon a zajistit konzistentní a zabezpečená prostředí pro vaše vývojové týmy. Další informace najdete v dokumentaci k prostředím nasazení Azure.

Nasazení vnořené šablony

V DevTest Labs můžete ukládat šablony ARM v úložišti Git propojeném s testovacím prostředím. Když k vytvoření prostředí použijete šablony úložiště, DevTest Labs zkopíruje všechny soubory šablon a artefaktů, včetně vnořených souborů šablon, do kontejneru Azure Storage testovacího prostředí.

Hlavní azuredeploy.json soubor šablony pro nasazení vnořené šablony používá Microsoft.Resources/deployments objekty k volání propojených sekundárních šablon. Zadáte hodnoty URI pro propojené šablony a vygenerujete token sdíleného přístupového podpisu (SaS) pro nasazení.

Nasazení používá Azure PowerShell New-AzResourceGroupDeployment nebo Azure CLI az deployment group createa určuje hlavní identifikátor URI šablony a token SaS. Další informace najdete v tématu Kurz: Nasazení propojené šablony.

Příklad vnořené šablony

Následující příklad azuredeploy.json souboru hlavní šablony ukazuje kód pro vnořené nasazení. Hlavní soubor šablony definuje odkazy na vnořenou šablonu.

Identifikátor URI odkazu pro sekundární šablonu zřetězí umístění artefaktů, vnořenou složku šablony, název souboru vnořené šablony a umístění tokenu sdíleného přístupového podpisu (SaS). Identifikátor URI sekundárního souboru parametrů používá umístění artefaktů, složku vnořené šablony, název souboru vnořeného parametru a umístění tokenu SaS artefaktů.


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