Azure 자원 관리자 템플릿에서 웹 앱에 확장 기능 추가

11690 단어 Azure
Azure Resource Manager Template(ARM Template)에서 응용 프로그램을 실행하는 웹 앱 환경을 자동으로 만들려고 시도할 때 모드 에서 확장 기능을 추가하는 방법에 대한 정의를 찾을 수 없습니다.
조사 결과유사한 문제는 그 대답을 바탕으로 많은 시도를 한 결과 확장 기능을 설정했다.
간단한 ARM Template를 예로 들어 그 방법을 설명합니다.

템플릿 예


예를 들어, Composer를 사용하는 PHP 응용 프로그램을 실행하기 위해 웹 앱을 만드는 템플릿을 만들었습니다.
deployWebAppForPHPwithComposer.json
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "appName": {
            "defaultValue": "hello-php",
            "type": "string"
        }
    },
    "variables": {
    },
    "resources": [
        {
            "type": "Microsoft.Web/serverfarms",
            "apiVersion": "2015-08-01",
            "location": "[resourceGroup().location]",
            "name": "[concat(parameters('appName'), '-free-plan')]",
            "sku": {
                "name": "F1"
            },
            "properties": {
                "numberOfWorkers": 1
            }
        },
        {
            "type": "Microsoft.Web/sites",
            "name": "[parameters('appName')]",
            "apiVersion": "2015-08-01",
            "location": "[resourceGroup().location]",
            "properties": {
                "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', concat(parameters('appName'), '-free-plan'))]"
            },
            "resources" : [
                {
                    "name": "web",
                    "type": "config",
                    "apiVersion": "2015-08-01",
                    "properties": {
                       "phpVersion": "7.0"
                    },
                    "dependsOn": [
                        "[resourceId('Microsoft.Web/sites', parameters('appName'))]"
                    ]
                },
                {
                    "name": "ComposerExtension",
                    "type": "siteextensions",
                    "apiVersion": "2015-08-01",
                    "properties": {
                        "version": "0.3.3",
                        "feed_url": "https://www.siteextensions.net/api/v2/"
                    },
                    "dependsOn": [
                        "[resourceId('Microsoft.Web/sites', parameters('appName'))]"
                    ]
                }
            ],
            "dependsOn": [
                "[resourceId('Microsoft.Web/serverfarms', concat(parameters('appName'), '-free-plan'))]"
            ]
        }
    ]
}
관건은 45 ~ 56 행Microsoft.Web/sites 부분이다.
이 설명에서는 확장 기능의 설치를 지정합니다.
다음 세 가지를 주의하십시오.
  • 확장 기능의 설치는 객체의 Web App 제작이 끝난 후에야 이루어지기 때문에 dependsOn 에서 객체의 Web App에 대한 종속성을 정의합니다
  • name에 들어가는 확장 기능의 이름은 Azure Portal의 확장 기능이 화면에 표시되는 것과 다르며, 지정Site Extension Gallery의 각 패키지 URL에 포함된 패키지 이름입니다.예를 들어 Composer의 경우 Site Extension Gallery로 검색하면 http://www.siteextensions.net/packages/ComposerExtension/ 이기 때문에 Composer Extension을 name 값으로 사용합니다.
  • propertiesversion 사용할 확장 기능의 버전을 지정합니다.사용 가능한 버전은 Site Extension Gallery의 모든 확장된 페이지 하단에 설명되어 있습니다.
  • 이렇게 하면 환경 건설의 야심에 자동으로 접근한다
    위의 샘플의 템플릿과 실행 방법이 Gist에 업로드되었으니 검사해 주십시오.

    참고 자료

  • This template is for deploying a Web App for running PHP application whose dependencies are managed with Composer.
  • How do I automatically install New Relic extension using Azure ARM Template? - Stack Overflow
  • AzureWebsitesSamples/WebAppWithSiteExtension.json at master · davidebbo/AzureWebsitesSamples
  • Site Extension Gallery | Home
  • 좋은 웹페이지 즐겨찾기