Megosztás:


Beágyazott sablonok DevTest Labs-környezetekben

Az Azure DevTest Labs-környezetek több, szolgáltatásként nyújtott infrastruktúra (IaaS) virtuális gépből (VM) állnak, amelyeken telepítve vannak a szolgáltatásként nyújtott platform (PaaS) erőforrások. A DevTest Labs-környezeteket Azure Resource Manager- (ARM-) sablonokkal építheti ki és helyezheti üzembe.

Összetett megoldások, például környezetek üzembe helyezéséhez a sablonokat másodlagos sablonokra bonthatja, és ezeket a sablonokat egy fő sablonon keresztül helyezheti üzembe. Ez a cikk bemutatja, hogyan helyezhet üzembe beágyazott sablonokat a DevTest Labs-környezetek üzembe helyezéséhez. Ha célzott, célspecifikus sablonokat használ egy környezet üzembe helyezéséhez, azzal elősegíti a tesztelést, az újrafelhasználhatóságot és az olvashatóságot.

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

Ha nagyvállalati szintű PaaS-erőforrásokat, szabályzatokat és biztonsági beállításokat, illetve a CI/CD-integrációt kell kezelnie az üzembe helyezési szakaszok és alkalmazások között, fontolja meg az Azure Deployment Environments (ADE) használatát környezetek létrehozásához. Az ADE lehetővé teszi a fejlesztők számára az alkalmazásinfrastruktúra gyors üzembe helyezését projektalapú sablonok használatával, így konzisztens és biztonságos környezetet biztosítanak a fejlesztői csapatok számára. További információkért tekintse meg az Azure Deployment Environments dokumentációját.

Beágyazott sablon üzembe helyezése

A DevTest Labsban ARM-sablonokat tárolhat egy laborhoz csatolt Git-adattárban. Amikor tárolósablonokat használ egy környezetet létrehozásához, a DevTest Labs az összes sablon- és eszközfájlt, beleértve a beágyazott sablonfájlokat is, a labor Azure Storage-tárolójába másolja.

A beágyazott sablontelepítéshez használt fő sablonfájl, az azuredeploy.json, objektumokat használ a csatolt másodlagos sablonok meghívásához. URI-értékeket ad meg a csatolt sablonokhoz, és létrehoz egy Közös hozzáférésű jogosultságkód (SaS) jogkivonatot az üzembe helyezéshez.

Az üzembe helyezés az Azure PowerShellt New-AzResourceGroupDeployment vagy az Azure CLI-t az deployment group createhasználja, megadva a fő sablon URI-jának és az SaS-jogkivonatnak a megadását. További információ : Oktatóanyag: Csatolt sablon üzembe helyezése.

Példa beágyazott sablonra

Az alábbi példa azuredeploy.json fő sablonfájl egy beágyazott üzembe helyezés kódját mutatja be. A fő sablonfájl a beágyazott sablonra mutató hivatkozásokat definiálja.

A másodlagos sablon hivatkozási URI-ja összefűzi az összetevők helyét, a beágyazott sablonmappát, a beágyazott sablonfájlnevet és az összetevők közös hozzáférésű jogosultságkódjának (SaS) helyét. A másodlagos paraméterfájl URI-ja az összetevők helyét, a beágyazott sablonmappát, a beágyazott paraméterfájlnevet és az összetevők SaS-jogkivonatának helyét használja.


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