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 订阅
输入别名: ConnectedServiceNamestring. 必需。

指定部署的 Azure 资源管理器 订阅。


appType - 应用类型
输入别名: WebAppKindstring. 必需。 允许的值: app (Web 应用) 、 applinux (Linux Web App) 、 functionapp (函数应用 (不建议、使用Azure Functions任务) ) 、 api (API 应用) (mobileapp 移动应用) 。 默认值:app

指定要部署的 Web 应用的类型。

注意:为内置平台映像或自定义容器映像部署指定 Linux Web 应用。


appType - 应用类型
输入别名: WebAppKindstring. 必需。 允许的值: 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.ionginx/latest


AzureContainerRegistryTag - 标记
string. 可选。 在 时 ImageSource = AzureContainerRegistry使用 。

这是注册表用来为 Docker 映像提供版本的机制。

注意:完全限定映像名称的格式为:<registry>/<repository>:。<tag> 例如:myregistry.azurecr.ionginx/latest


DockerRepositoryAccess - 存储库访问
string. 当 ImageSource = invalidImage 时,需要此选项。 允许的值:privatepublic。 默认值:public

指定 Docker 存储库访问权限。


dockerRegistryConnection - 注册表连接
输入别名: RegistryConnectedServiceNamestring. 当 DockerRepositoryAccess = private || ImageSource = PrivateRegistry 时,需要此选项。

指定注册表连接。


PrivateRegistryImage - 图像
string. 当 ImageSource = PrivateRegistry 时,需要此选项。

存储容器映像的存储库的名称。

注意:完全限定映像名称的格式为: <registry><repository><tag>。 例如:myregistry.azurecr.ionginx/latest


PrivateRegistryTag - 标记
string. 可选。 在 时 ImageSource = PrivateRegistry使用 。

标记是注册表用于为 Docker 映像提供版本的机制。

注意:完全限定的图像名称的格式为:“<registry>/<repository>:”。<tag> 例如:myregistry.azurecr.ionginx/latest


DockerNamespace - 注册表或命名空间
string. 当 WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry 时,需要此选项。

特定注册表或命名空间的全局唯一顶级域名。

注意:完全限定映像名称的格式为:<registry or namespace>/<repository>:。<tag> 例如:myregistry.azurecr.ionginx/latest


DockerRepository - 图像
string. 当 WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry 时,需要此选项。

存储容器映像的存储库的名称。

注意:完全限定映像名称的格式为:'<registry or namespace>/<repository>:。<tag> 例如:myregistry.azurecr.ionginx/latest


DockerImageTag - 标记
string. 可选。 在 时 WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry使用 。

这是注册表用来为 Docker 映像提供版本的机制。

注意:完全限定的图像名称的格式为:“<registry or namespace>/<repository>:”。<tag> 例如:myregistry.azurecr.ionginx/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 - 包或文件夹
输入别名: BuiltinLinuxPackagestring. 当 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 ScriptFile 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.htmApp 服务的根目录中,使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 转换
输入别名: XmlTransformationboolean. 可选。 在 时 WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war使用 。 默认值:false

配置转换将在 上*.config file*.Release.config*.<EnvironmentName>.config 运行。

配置转换将在变量替换之前运行。

只有 Windows 平台支持 XML 转换。


enableXmlVariableSubstitution - XML 变量替换
输入别名: XmlVariableSubstitutionboolean. 可选。 在 时 WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war使用 。 默认值:false

生成或发布管道中定义的变量将与任何配置文件和 的 、 和 部分中的 或 parameters.xml条目进行匹配namekeyapplicationSettingsconnectionStringsappSettings 变量替换在配置转换后运行。

注意:如果在发布管道和环境中定义了相同的变量,则环境变量将取代发布管道变量。


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.

若要解决此问题,可以从以下选项中选择(按首选项顺序)。

  1. 更新代理映像。 如果使用托管代理,请从 windows-2019 移动到 windows-2022 (或 windows-latest) 。 如果使用自承载代理,请在代理上安装 Visual Studio 2022 以获取较新版本 的msdeploy.exe
  2. 如果依赖于较旧的代理映像,并且无法更新管道的代理,请考虑拆分作业,使Azure 应用服务部署任务在 windows-2022 (或 windows-latest) 上运行。
  3. 如果这两个选项都不可用,则可以为Azure 应用服务启用基本身份验证

要求

要求 说明
管道类型 YAML,经典内部版本,经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置的变量 任意
代理版本 2.104.1 或更高版本
任务类别 部署