AzureRmWebAppDeployment@3 - Azure 应用服务部署 v3 任务
使用此任务部署以使用 Docker、Java、.NET、.NET Core、Node.js、PHP、Python 或 Ruby Azure 应用服务 Web、移动或 API 应用。
注意
使用 AzureFunctionApp@1 部署Azure Functions应用。
使用 Web 部署 Azure 应用/Kudu REST API 使用内置映像或 docker 容器、ASP.NET、.NET Core、PHP、Python 或基于 Node.js 的 Web 应用程序、函数应用、移动应用、API 应用程序和 Web 作业更新 Windows 上的服务、Linux 上的 Web 应用。
语法
# Azure App Service deploy v3
# Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
- task: AzureRmWebAppDeployment@3
inputs:
azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription.
appType: 'app' # 'app' | 'applinux' | 'functionapp' | 'api' | 'mobileapp'. Alias: WebAppKind. Required. App type. Default: app.
WebAppName: # string. Required. App Service name.
#DeployToSlotFlag: false # boolean. Optional. Use when WebAppKind != "". Deploy to slot. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotFlag = true. Resource group.
#SlotName: # string. Required when DeployToSlotFlag = true. Slot.
#ImageSource: 'Registry' # 'Registry' | 'Builtin'. Optional. Use when WebAppKind = applinux || WebAppKind = linux. Image Source. Default: Registry.
#AzureContainerRegistry: # string. Required when ImageSource = AzureContainerRegistry. Registry.
#AzureContainerRegistryLoginServer: # string. Optional. Use when ImageSource = invalidimagesource. Registry Login Server Name.
#AzureContainerRegistryImage: # string. Required when ImageSource = AzureContainerRegistry. Image.
#AzureContainerRegistryTag: # string. Optional. Use when ImageSource = AzureContainerRegistry. Tag.
#DockerRepositoryAccess: 'public' # 'private' | 'public'. Required when ImageSource = invalidImage. Repository Access. Default: public.
#dockerRegistryConnection: # string. Alias: RegistryConnectedServiceName. Required when DockerRepositoryAccess = private || ImageSource = PrivateRegistry. Registry Connection.
#PrivateRegistryImage: # string. Required when ImageSource = PrivateRegistry. Image.
#PrivateRegistryTag: # string. Optional. Use when ImageSource = PrivateRegistry. Tag.
#DockerNamespace: # string. Required when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Virtual application.
#Package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: BuiltinLinuxPackage. Required when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Required when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = applinux || WebAppKind = linux. Startup command.
# Output
#WebAppUri: # string. Optional. Use when WebAppKind != "". App Service URL.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when WebAppKind != "". Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && WebAppKind != "". Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && WebAppKind != "". Deployment script path.
# File Transforms & Variable Substitution Options
#GenerateWebConfig: false # boolean. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. Generate Web.config. Default: false.
#WebConfigParameters: # string. Required when GenerateWebConfig == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. Web.config parameters.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. App settings.
#ConfigurationSettings: # string. Configuration settings.
# Additional Deployment Options
#TakeAppOfflineFlag: false # boolean. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Take App Offline. Default: false.
#UseWebDeploy: false # boolean. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Publish using Web Deploy. Default: false.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: false # boolean. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Exclude files from the App_Data folder. Default: false.
#AdditionalArguments: # string. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Additional arguments.
#RenameFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Rename locked files. Default: false.
# Azure App Service Deploy v3
# Update Azure App Services on Windows, Web App on Linux with built-in images or Docker containers, ASP.NET, .NET Core, PHP, Python or Node.js based Web applications, Function Apps, Mobile Apps, API applications, Web Jobs using Web Deploy / Kudu REST APIs.
- task: AzureRmWebAppDeployment@3
inputs:
azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription.
appType: 'app' # 'app' | 'applinux' | 'functionapp' | 'api' | 'mobileapp'. Alias: WebAppKind. Required. App type. Default: app.
WebAppName: # string. Required. App Service name.
#DeployToSlotFlag: false # boolean. Optional. Use when WebAppKind != "". Deploy to slot. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotFlag = true. Resource group.
#SlotName: # string. Required when DeployToSlotFlag = true. Slot.
#ImageSource: 'Registry' # 'Registry' | 'Builtin'. Optional. Use when WebAppKind = applinux || WebAppKind = linux. Image Source. Default: Registry.
#AzureContainerRegistry: # string. Required when ImageSource = AzureContainerRegistry. Registry.
#AzureContainerRegistryLoginServer: # string. Optional. Use when ImageSource = invalidimagesource. Registry Login Server Name.
#AzureContainerRegistryImage: # string. Required when ImageSource = AzureContainerRegistry. Image.
#AzureContainerRegistryTag: # string. Optional. Use when ImageSource = AzureContainerRegistry. Tag.
#DockerRepositoryAccess: 'public' # 'private' | 'public'. Required when ImageSource = invalidImage. Repository Access. Default: public.
#dockerRegistryConnection: # string. Alias: RegistryConnectedServiceName. Required when DockerRepositoryAccess = private || ImageSource = PrivateRegistry. Registry Connection.
#PrivateRegistryImage: # string. Required when ImageSource = PrivateRegistry. Image.
#PrivateRegistryTag: # string. Optional. Use when ImageSource = PrivateRegistry. Tag.
#DockerNamespace: # string. Required when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Virtual application.
#Package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: BuiltinLinuxPackage. Required when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Required when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = applinux || WebAppKind = linux. Startup command.
# Output
#WebAppUri: # string. Optional. Use when WebAppKind != "". App Service URL.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when WebAppKind != "". Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && WebAppKind != "". Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && WebAppKind != "". Deployment script path.
# File Transforms & Variable Substitution Options
#GenerateWebConfig: false # boolean. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. Generate Web.config. Default: false.
#WebConfigParameters: # string. Required when GenerateWebConfig == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. Web.config parameters.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. App settings.
#ConfigurationSettings: # string. Configuration settings.
# Additional Deployment Options
#TakeAppOfflineFlag: false # boolean. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Take App Offline. Default: false.
#UseWebDeploy: false # boolean. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Publish using Web Deploy. Default: false.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: false # boolean. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Exclude files from the App_Data folder. Default: false.
#AdditionalArguments: # string. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Additional arguments.
#RenameFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Rename locked files. Default: false.
输入
azureSubscription
- Azure 订阅
输入别名: ConnectedServiceName
。 string
. 必需。
指定部署的 Azure 资源管理器 订阅。
appType
- 应用类型
输入别名: WebAppKind
。 string
. 必需。 允许的值: app
(Web 应用) 、 applinux
(Linux Web App) 、 functionapp
(函数应用 (不建议、使用Azure Functions任务) ) 、 api
(API 应用) (mobileapp
移动应用) 。 默认值:app
。
指定要部署的 Web 应用的类型。
注意:为内置平台映像或自定义容器映像部署指定 Linux Web 应用。
appType
- 应用类型
输入别名: WebAppKind
。 string
. 必需。 允许的值: app
(Web 应用) 、 applinux
(Linux Web App) 、 functionapp
(Function App) 、 api
(API 应用) (mobileapp
移动应用) 。 默认值:app
。
指定要部署的 Web 应用的类型。
注意:为内置平台映像或自定义容器映像部署指定 Linux Web 应用。
WebAppName
- App 服务名称
string
. 必需。
指定现有Azure 应用服务的名称。 仅当使用任务助手时,才会列出基于所选应用类型的应用服务。
DeployToSlotFlag
- 部署到槽
boolean
. 可选。 在 时 WebAppKind != ""
使用 。 默认值:false
。
使用此选项可部署到生产槽以外的现有槽。 如果未选择此选项,则Azure 应用服务将部署到生产槽。
ResourceGroupName
- 资源组
string
. 当 DeployToSlotFlag = true
时,需要此选项。
指定包含上面指定的Azure 应用服务的 Azure 资源组。
SlotName
- 槽
string
. 当 DeployToSlotFlag = true
时,需要此选项。
指定生产槽以外的现有槽。
ImageSource
- 图像源
string
. 可选。 在 时 WebAppKind = applinux || WebAppKind = linux
使用 。 允许的值: Registry
(容器注册表) , Builtin
(内置映像) 。 默认值:Registry
。
Linux 上的应用服务提供了两个不同的选项来发布应用程序:
使用内置平台映像进行自定义映像部署或应用部署。
AzureContainerRegistry
- 注册 表
string
. 当 ImageSource = AzureContainerRegistry
时,需要此选项。
特定注册表的全局唯一顶级域名。
注意:完全限定映像名称的格式为:<registry>
/<repository>
:。<tag>
例如,myregistry.azurecr.io
/nginx:latest
。
AzureContainerRegistryLoginServer
- 注册表登录服务器名称
string
. 可选。 在 时 ImageSource = invalidimagesource
使用 。
指定 Azure 容器注册表登录服务器名称。
AzureContainerRegistryImage
- 图像
string
. 当 ImageSource = AzureContainerRegistry
时,需要此选项。
存储容器映像的存储库的名称。
注意:完全限定映像名称的格式为:<registry>
/<repository>
:。<tag>
例如:myregistry.azurecr.io
nginx
/latest
。
AzureContainerRegistryTag
- 标记
string
. 可选。 在 时 ImageSource = AzureContainerRegistry
使用 。
这是注册表用来为 Docker 映像提供版本的机制。
注意:完全限定映像名称的格式为:<registry>
/<repository>
:。<tag>
例如:myregistry.azurecr.io
nginx
/latest
。
DockerRepositoryAccess
- 存储库访问
string
. 当 ImageSource = invalidImage
时,需要此选项。 允许的值:private
、public
。 默认值:public
。
指定 Docker 存储库访问权限。
dockerRegistryConnection
- 注册表连接
输入别名: RegistryConnectedServiceName
。 string
. 当 DockerRepositoryAccess = private || ImageSource = PrivateRegistry
时,需要此选项。
指定注册表连接。
PrivateRegistryImage
- 图像
string
. 当 ImageSource = PrivateRegistry
时,需要此选项。
存储容器映像的存储库的名称。
注意:完全限定映像名称的格式为: <registry>
<repository>
:<tag>
。 例如:myregistry.azurecr.io
nginx
/latest
。
PrivateRegistryTag
- 标记
string
. 可选。 在 时 ImageSource = PrivateRegistry
使用 。
标记是注册表用于为 Docker 映像提供版本的机制。
注意:完全限定的图像名称的格式为:“<registry>
/<repository>
:”。<tag>
例如:myregistry.azurecr.io
nginx
/latest
。
DockerNamespace
- 注册表或命名空间
string
. 当 WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry
时,需要此选项。
特定注册表或命名空间的全局唯一顶级域名。
注意:完全限定映像名称的格式为:<registry or namespace>
/<repository>
:。<tag>
例如:myregistry.azurecr.io
nginx
/latest
。
DockerRepository
- 图像
string
. 当 WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry
时,需要此选项。
存储容器映像的存储库的名称。
注意:完全限定映像名称的格式为:'<registry or namespace>
/<repository>
:。<tag>
例如:myregistry.azurecr.io
nginx
/latest
。
DockerImageTag
- 标记
string
. 可选。 在 时 WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry
使用 。
这是注册表用来为 Docker 映像提供版本的机制。
注意:完全限定的图像名称的格式为:“<registry or namespace>
/<repository>
:”。<tag>
例如:myregistry.azurecr.io
nginx
/latest
。
VirtualApplication
- 虚拟应用程序
string
. 可选。 在 时 WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
使用 。
指定已在Azure 门户中配置的虚拟应用程序的名称。 部署到 App 服务 根时不需要 选项。
Package
- 包或文件夹
string
. 当 WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
时,需要此选项。 默认值:$(System.DefaultWorkingDirectory)/**/*.zip
。
包或包含 MSBuild 生成的应用服务内容的文件夹或压缩 zip 或 war 文件的文件路径。
例如 $(System.DefaultWorkingDirectory)/\*\*/\*.zip
或 $(System.DefaultWorkingDirectory)/\*\*/\*.war
。
packageForLinux
- 包或文件夹
输入别名: BuiltinLinuxPackage
。 string
. 当 WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin
时,需要此选项。 默认值:$(System.DefaultWorkingDirectory)/**/*.zip
。
包或包含 MSBuild 生成的应用服务内容的文件夹或压缩 zip 或 war 文件的文件路径。
例如 $(System.DefaultWorkingDirectory)/\*\*/\*.zip
或 $(System.DefaultWorkingDirectory)/\*\*/\*.war
。
RuntimeStack
- 运行时堆栈
string
. 当 WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin
时,需要此选项。
指定框架和版本。
StartupCommand
- 启动命令
string
. 可选。 在 时 WebAppKind = applinux || WebAppKind = linux
使用 。
指定启动命令。
WebAppUri
- App 服务 URL
string
. 可选。 在 时 WebAppKind != ""
使用 。
指定为Azure 应用服务 URL 生成的输出变量的名称。 变量可用于后续任务。
ScriptType
- 部署脚本类型
string
. 可选。 在 时 WebAppKind != ""
使用 。 允许的值: Inline Script
、 File Path
(脚本文件路径) 。
通过提供一个脚本来自定义部署,该脚本将在任务成功完成部署后在 Azure 应用 服务上运行。 例如,这可以还原 Node、PHP 和 Python 应用程序的包。 详细了解Azure 应用服务部署。
InlineScript
- 内联脚本
string
. 当 ScriptType == Inline Script && WebAppKind != ""
时,需要此选项。 默认值::: You can provide your deployment commands here. One command per line.
。
ScriptPath
- 部署脚本路径
string
. 当 ScriptType == File Path && WebAppKind != ""
时,需要此选项。
GenerateWebConfig
- 生成 Web.config
boolean
. 可选。 在 时 WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war
使用 。 默认值:false
。
如果应用程序没有标准,则会生成标准Web.config
并将其部署到 Azure 应用服务。 中的 web.config
值可以编辑,并且会根据应用程序框架而有所不同。 例如,对于 node.js
应用程序, web.config
将具有启动文件和 iis_node
模块值。 详细了解Azure 应用服务部署。
WebConfigParameters
- Web.config 参数
string
. 当 GenerateWebConfig == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war
时,需要此选项。
编辑生成的 web.config
文件中的启动文件等值。 此编辑功能仅适用于生成的 web.config
。 详细了解Azure 应用服务部署。
AppSettings
- 应用设置
string
.
按照语法 -key 值 编辑 Web 应用应用程序设置。 包含空格的值应在两侧加上双引号。
示例: -Port 5000
-RequestTimeout 5000
-WEBSITE_TIME_ZONE
"Eastern Standard Time"
。
ConfigurationSettings
- 配置设置
string
.
按照语法 -key
值编辑 Web 应用配置设置。 包含空格的值应在两侧加上双引号。
示例: -phpVersion 5.6
-linuxFxVersion: node|6.11
。
TakeAppOfflineFlag
- 使应用脱机
boolean
. 可选。 在 时 WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
使用 。 默认值:false
。
在同步操作开始之前,使用此选项可将文件放置在app_offline.htm
App 服务的根目录中,使Azure 应用服务脱机。 同步操作成功完成后,将删除该文件。
UseWebDeploy
- 使用 Web 部署发布
boolean
. 可选。 在 时 WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
使用 。 默认值:false
。
Publish using Web Deploy
仅当使用 Windows 代理时,才支持选项。 在其他平台上,任务依赖于 Kudu REST API 来部署Azure 应用服务,不支持以下选项。
SetParametersFile
- SetParameters 文件
string
. 可选。 在 时 UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
使用 。
要使用的文件的位置 SetParameters.xml
。
RemoveAdditionalFilesFlag
- 删除目标处的其他文件
boolean
. 可选。 在 时 UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
使用 。 默认值:false
。
使用此选项可删除Azure 应用服务上App 服务包或文件夹中没有匹配文件的文件。
注意:此操作还将删除与此Azure 应用服务上安装的任何扩展相关的所有文件。 若要防止这种情况,请选中复选框 Exclude files from App_Data folder
。
ExcludeFilesFromAppDataFlag
- 从App_Data文件夹中排除文件
boolean
. 可选。 在 时 UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
使用 。 默认值:false
。
使用此选项可防止将文件夹中的文件App_Data
部署到Azure 应用服务/从中删除。
AdditionalArguments
- 其他参数
string
. 可选。 在 时 UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
使用 。
其他 Web 部署参数遵循语法 -key:value
。
部署 Azure 应用服务时将应用这些参数。 示例: -disableLink:AppPoolExtension
-disableLink:ContentExtension
。
请参阅 Web 部署操作设置的更多示例。
RenameFilesFlag
- 重命名锁定的文件
boolean
. 可选。 在 时 UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
使用 。 默认值:false
。
使用此选项可在Azure 应用服务应用程序设置中启用 msdeploy 标志MSDEPLOY_RENAME_LOCKED_FILES=1
。 选项使 msdeploy 能够重命名在应用部署期间锁定的锁定文件。
enableXmlTransform
- XML 转换
输入别名: XmlTransformation
。 boolean
. 可选。 在 时 WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war
使用 。 默认值:false
。
配置转换将在 上*.config file
为 *.Release.config
和 *.<EnvironmentName>.config
运行。
配置转换将在变量替换之前运行。
只有 Windows 平台支持 XML 转换。
enableXmlVariableSubstitution
- XML 变量替换
输入别名: XmlVariableSubstitution
。 boolean
. 可选。 在 时 WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war
使用 。 默认值:false
。
生成或发布管道中定义的变量将与任何配置文件和 的 、 和 部分中的 或 parameters.xml
条目进行匹配name
key
。 applicationSettings
connectionStrings
appSettings
变量替换在配置转换后运行。
注意:如果在发布管道和环境中定义了相同的变量,则环境变量将取代发布管道变量。
JSONFiles
- JSON 变量替换
string
. 可选。 在 时 WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war
使用 。
提供用行分隔的新 JSON 文件列表来替换变量值。 提供相对于根文件夹的文件名。
若要替换嵌套或分层的 JSON 变量,请使用 JSONPath
表达式指定它们。
例如,若要替换以下示例中的 值 ConnectionString
,需要在生成/发布管道 (或发布管道的环境) 中将 变量 Data.DefaultConnection.ConnectionString
定义为 。
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
变量替换在配置转换后运行。
注意:在替换中排除管道变量。
任务控制选项
除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性。
输出变量
无。
备注
此任务有较新版本可用。 有关详细信息,请参阅 AzureRmWebAppDeployment@4。
故障排除
我无法使用 Windows 代理中的Microsoft Entra ID身份验证将 Web 部署到我的Azure 应用服务
Azure 应用服务部署任务支持使用 Microsoft Entra ID 通过 ARM 服务连接连接到 Microsoft Azure,除非存在以下三个条件:
- 你在 Windows 代理上使用 Web 部署包格式
- 代理使用较旧版本的 msdeploy.exe (运行,例如在使用 windows-2019 托管代理映像时)
- 已为Azure 应用服务禁用基本身份验证
如果存在这三个条件,则会收到类似于 App Service is configured to not use basic authentication. This requires Web Deploy msdeploy.exe version 7.1.7225.2108 or higher. You need a version of Visual Studio that includes an updated version of msdeploy.exe. For more information, visit https://aka.ms/azdo-webapp-msdeploy.
若要解决此问题,可以从以下选项中选择(按首选项顺序)。
- 更新代理映像。 如果使用托管代理,请从 windows-2019 移动到 windows-2022 (或 windows-latest) 。 如果使用自承载代理,请在代理上安装 Visual Studio 2022 以获取较新版本 的msdeploy.exe。
- 如果依赖于较旧的代理映像,并且无法更新管道的代理,请考虑拆分作业,使Azure 应用服务部署任务在 windows-2022 (或 windows-latest) 上运行。
- 如果这两个选项都不可用,则可以为Azure 应用服务启用基本身份验证。