我可以将 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 命令行开关或标志作为参数传递。
ARM 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')]"
}
}
}
有一个可用于 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 命令行开关或标志作为参数传递。
ARM 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')]"
}
}
}