我可以将 MSDeploy 参数传递给 Azure Web App MSDeploy 扩展吗?

Can I Pass MSDeploy Parameters to Azure Web App MSDeploy Extension?

有一个可用于 Azure Web 应用程序的 MSDeploy 扩展;这也可以与 Azure 资源管理器 (ARM) 模板一起使用 (example). I'd like to pass additional command-line arguments to MSDeploy, such as -enableRule:AppOffline (example)。

是否有用于传递附加参数等的 MSDeploy Web App 扩展文档?

根据如下 Azure Web App MSDeploy 扩展的最新架构定义,它不支持将 MSDeploy 命令行开关或标志作为参数传递。

http://schema.management.azure.com/schemas/2015-08-01/Microsoft.Web.json#/resourceDefinitions/sitesextensions

A​​RM Web App MSDeploy extension的参数传递可以参考下面的link

Documentation link for MSDeploy Web App extension passing parameters

最近将支持添加到 ARM 模板的 MSDeploy 部分,添加了 appOffline 支持。

(...)
"resources": [
    {
        "apiVersion": "2016-03-01",
        "name": "MSDeploy",
        "type": "Extensions",
        "dependsOn": [
            "[concat('Microsoft.Web/Sites/', parameters('appName'))]"
        ],
        "properties": {
            "packageUri": "https://mystorageblob.blob.core.windows.net/package/my_webdeploy_package.zip",
            "dbType": "None",
            "connectionString": "",
            "AppOffline": true,
            "SkipAppData": true,
            "setParameters": {
                "IIS Web Application Name": "[parameters('appName')]"
            }
        }
    }
],
(...)

实际上是支持的,但是有些事情你需要知道。

  • 当您仅更新参数时,不会推送更改。您需要触摸 web.config。 Msdeploy 不认为这是一个变化。
  • web.config 中不支持 configSource,您需要单独修补每个文件。

parameters.xml

<parameters> <parameter name="SmtpHost" defaultValue="" tags="" > <parameterEntry kind="XmlFile" scope="Web.config" match="/configuration/system.net/mailSettings/smtp/network/@host" /> </parameter> </parameters>

手臂模板 { "name": "MSDeploy", "type": "extensions", "location": "[resourceGroup().location]", "apiVersion": "2015-08-01", "dependsOn": [ "[resourceId('Microsoft.Web/sites', parameters('siteName'))]" ], "properties": { "packageUri": "[concat(parameters('_artifactsLocation'), '/', parameters('folder'), '/', parameters('filename'), parameters('_artifactsLocationSasToken'))]", "dbType": "None", "setParameters": { "IIS Web Application Name": "[parameters('cmsSiteName')]", "SmtpHost": "[parameters('smtpHost')]" } } }

https://social.msdn.microsoft.com/Forums/azure/en-US/3a07e809-d452-463a-b1bf-d84d48415302/azure-resource-manager-msdeploy-extension-parameters?forum=windowsazurewebsitespreview