Megosztás a következőn keresztül:


DevTest Labs-környezetek üzembe helyezése beágyazott sablonok használatával

A beágyazott üzembe helyezés másodlagos Azure Resource Manager-sablonokat futtat egy fő sablonból. Ez a cikk az Azure DevTest Labs-környezet üzembe helyezésére szolgáló beágyazott sablonokat mutatja be. A DevTest Labs-környezetek több infrastruktúra-szolgáltatásként (IaaS) virtuális gépet (VM-et) tartalmaznak, amelyeken telepítve vannak a szolgáltatásként nyújtott platform (PaaS) erőforrások. A PaaS-erőforrásokat és virtuális gépeket ARM-sablonok használatával építheti ki.

Az üzembe helyezés célzott, célspecifikus sablonok készletében való felbontása tesztelési, újrafelhasználási és olvashatósági előnyöket biztosít. A beágyazott sablonokról , beleértve a kódmintákat is, az Azure-erőforrások üzembe helyezésekor a csatolt és beágyazott sablonok használata című témakörben talál általános információkat.

Feljegyzés

Az Azure Deployment Environments (ADE) kifejezetten ajánlott környezetek létrehozásához. Az ADE lehetővé teszi a fejlesztők számára az alkalmazásinfrastruktúra projektalapú sablonok használatával történő gyors üzembe helyezését, így konzisztens és biztonságos környezetet biztosítanak a fejlesztői csapatok számára.

Az Azure Deployment Environmentsről további információt az Azure Deployment Environments dokumentációjában talál.

Beágyazott sablonok üzembe helyezése a Visual Studióval

A Visual Studio Azure Resource Group-projektsablonja megkönnyíti az ARM-sablonok fejlesztését és hibakeresését. Ha beágyazott sablont ad hozzá a fő azuredeploy.json sablonfájlhoz, a Visual Studio a következő elemeket adja hozzá a sablon rugalmasabbá tételéhez:

  • Almappát a másodlagos sablonnal és paraméterfájlokkal
  • Változónevek a fő sablonfájlban
  • Két fő paraméter, _artifactsLocation és _artifactsLocationSasToken

A DevTest Labsban ARM-sablonokat tárol egy Git-adattárban, amelyet a laborhoz csatol. Amikor a csatolt adattársablonok egyikével hoz létre új környezetet, az üzembe helyezés a sablonfájlokat egy Azure Storage-tárolóba másolja a laborban. Amikor beágyazott sablonerőforrást ad hozzá az adattárhoz és a fő sablonfájlhoz, a Visual Studio azonosítja azokat _artifactsLocation és _artifactsLocationSasToken az értékeket, átmásolja az almappákat a tárolóba, és beszúrja a hely- és közös hozzáférésű jogosultságkód (SaS) jogkivonatot a paraméterfájlokba.

Beágyazott sablonmappa-struktúra

A következő sablonpéldában a Git-adattár mappában van egy almappája, a beágyazott sablonfájlok NestOne.json és NestOne.parameters.json. A azuredeploy.json fő sablonfájl az összetevők helyének, a beágyazott sablonmappának és a beágyazott sablonfájlnévnek a használatával létrehozza a másodlagos sablonok URI-jait. A paraméterfájl URI-ja az összetevők helye, a beágyazott sablonmappa és a beágyazott sablonparaméter-fájl. További beágyazott sablon almappákat is hozzáadhat az elsődleges mappához, de a beágyazásnak csak egy szintjén.

Az alábbi képernyőképen a Visual Studio projektstruktúrája látható:

A Visual Studióban a beágyazott sablonprojekt struktúráját bemutató képernyőkép.

Beágyazott üzembe helyezési példa

Az alábbi példa a beágyazott üzembe helyezés fő azuredeploy.json ARM-sablonfájlját mutatja be:


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

Következő lépések