AzureRmWebAppDeployment@4 - Azure 应用服务部署 v4 任务
使用此任务可以使用 Docker、Java、.NET、.NET Core、Node.js、PHP、Python 或 Ruby 将 Web、移动或 API 应用部署到 Azure 应用服务。
注意
使用 AzureFunctionApp@1 部署 Azure Functions 应用。
使用内置映像或 Docker 容器更新 Windows 上的 Azure 应用服务、使用内置映像或 Docker 容器、ASP.NET、.NET Core、PHP、Python 或基于 Node.js 的 Web 应用程序、Windows 或 Linux 上的函数应用、使用 Docker 容器、移动应用、API 应用程序和 Web 作业Kudu REST API。
语法
# Azure App Service deploy v4
# 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@4
inputs:
ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription.
#PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
#PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password.
appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'webAppHyperVContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
WebAppName: # string. Required when ConnectionType = AzureRM. App Service name.
#deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group.
#SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
#DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack.
#RuntimeStackFunction: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer. Startup command.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Deployment script path.
# File Transforms & Variable Substitution Options
#WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings.
#ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings.
# Additional Deployment Options
#enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
#DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
#TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
#AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
#RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
# Azure App Service deploy v4
# 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@4
inputs:
ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription.
#PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
#PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password.
appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'webAppHyperVContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
WebAppName: # string. Required when ConnectionType = AzureRM. App Service name.
#deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group.
#SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
#DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack.
#RuntimeStackFunction: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer. Startup command.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script path.
# File Transforms & Variable Substitution Options
#WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings.
#ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings.
# Additional Deployment Options
#enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
#DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
#TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
#AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
#RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
# Azure App Service deploy v4
# 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@4
inputs:
ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription.
#PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
#PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password.
appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
WebAppName: # string. Required when ConnectionType = AzureRM. App Service name.
#deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group.
#SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
#DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack.
#RuntimeStackFunction: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux. Startup command.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script path.
# File Transforms & Variable Substitution Options
#WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings.
#ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings.
# Additional Deployment Options
#enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
#DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
#TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
#AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
#RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
# Azure App Service deploy v4
# 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@4
inputs:
ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription.
#PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
#PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password.
appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
WebAppName: # string. Required when ConnectionType = AzureRM. App Service name.
#deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group.
#SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
#DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack.
#RuntimeStackFunction: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux. Startup command.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script path.
# File Transforms & Variable Substitution Options
#WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings.
#ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings.
# Additional Deployment Options
#enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
#DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
#TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
#AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
#RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
# Azure App Service Deploy v4
# 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 on Windows or Linux with Docker Containers, Mobile Apps, API applications, Web Jobs using Web Deploy / Kudu REST APIs.
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription.
#PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
#PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password.
appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
WebAppName: # string. Required when ConnectionType = AzureRM. App Service name.
#deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group.
#SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
#DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack.
#RuntimeStackFunction: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Startup command.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script path.
# File Transforms & Variable Substitution Options
#WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings.
#ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings.
# Additional Deployment Options
#enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
#DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
#TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
#AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
#RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
输入
ConnectionType
-
连接类型
string
。 必填。 允许的值:AzureRM
(Azure 资源管理器)、PublishProfile
(发布配置文件)。 默认值:AzureRM
。
指定要用于部署 Web 应用的服务连接类型。
指定使用 发布配置文件创建的 Visual Studio Publish Profile
。
ConnectionType
-
连接类型
string
。 必填。 允许的值:AzureRM
(Azure 资源管理器)、PublishProfile
(发布配置文件)。 默认值:AzureRM
。
指定要用于部署 Web 应用的服务连接类型。
azureSubscription
-
Azure 订阅
输入别名:ConnectedServiceName
。
string
。
ConnectionType = AzureRM
时是必需的。
指定部署的 Azure 资源管理器订阅。
PublishProfilePath
-
发布配置文件路径
string
。
ConnectionType = PublishProfile
时是必需的。 默认值:$(System.DefaultWorkingDirectory)/**/*.pubxml
。
从 Visual Studio 创建的 发布配置文件的路径。
PublishProfilePassword
-
发布配置文件密码
string
。
ConnectionType = PublishProfile
时是必需的。
建议将密码存储在机密变量中,并在此处使用该变量,例如 $(Password)
。
appType
-
应用服务类型
输入别名:WebAppKind
。
string
。
ConnectionType = AzureRM
时是必需的。 允许的值:webApp
(Windows 上的 Web 应用)、webAppLinux
(Linux 上的 Web 应用)、webAppContainer
(用于容器的 Web 应用(Linux))、webAppHyperVContainer
(适用于容器的 Web 应用(Windows))、functionApp
(不建议使用 Windows 上的函数应用) 使用 Azure Functions 任务)、functionAppLinux
(不建议在 Linux 上使用函数应用(不建议使用 Azure Functions 任务))、functionAppContainer
(适用于容器的函数应用(不建议使用 Azure Functions 执行容器任务) ) ) apiApp
(API 应用),mobileApp
(移动应用)。 默认值:webApp
。
从 Windows 上的 Web 应用、Linux 上的 Web 应用、用于容器的 Web 应用、函数应用、Linux 上的 Function App、用于容器的函数应用和移动应用中进行选择。
appType
-
应用服务类型
输入别名:WebAppKind
。
string
。
ConnectionType = AzureRM
时是必需的。 允许的值:webApp
(Windows 上的 Web 应用)、webAppLinux
(Linux 上的 Web 应用)、webAppContainer
(适用于容器的 Web 应用(Linux))、functionApp
(Windows 上的 Function App)、functionAppLinux
(Linux 上的 Function App)、functionAppContainer
(适用于容器的函数应用(Linux))、apiApp
(API 应用)、mobileApp
(移动应用)。 默认值:webApp
。
从 Windows 上的 Web 应用、Linux 上的 Web 应用、用于容器的 Web 应用、函数应用、Linux 上的 Function App、用于容器的函数应用和移动应用中进行选择。
WebAppName
-
应用服务名称
string
。
ConnectionType = AzureRM
时是必需的。
指定现有 Azure 应用服务的名称。 仅当使用任务助手时,才会列出基于所选应用类型的应用服务。
deployToSlotOrASE
-
部署到槽或应用服务环境
输入别名:DeployToSlotOrASEFlag
。
boolean
。 自选。 当 ConnectionType = AzureRM && WebAppKind != ""
时使用。 默认值:false
。
指定部署到现有部署槽位或 Azure 应用服务环境的选项。 对于这两个目标,任务都需要一个资源组名称。
如果部署目标为槽,则默认情况下,部署将部署到生产 槽 Production
并仅指定资源组名称。
ResourceGroupName
-
资源组
string
。
DeployToSlotOrASEFlag = true
时是必需的。
当部署目标为部署槽位或应用服务环境时,需要资源组名称。
指定包含上面指定的 Azure 应用服务的 Azure 资源组。
SlotName
-
槽
string
。
DeployToSlotOrASEFlag = true
时是必需的。 默认值:production
。
指定生产槽以外的现有槽。
DockerNamespace
-
注册表或命名空间
string
。
WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
时是必需的。
特定注册表或命名空间的全局唯一顶级域名。 注意:完全限定的图像名称的格式为:{registry or namespace}/{repository}:{tag}
。 例如,myregistry.azurecr.io/nginx:latest
。
DockerNamespace
-
注册表或命名空间
string
。
WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
时是必需的。
特定注册表或命名空间的全局唯一顶级域名。 注意:完全限定的图像名称的格式为:{registry or namespace}/{repository}:{tag}
。 例如,myregistry.azurecr.io/nginx:latest
。
DockerNamespace
-
注册表或命名空间
string
。
WebAppKind = webAppContainer || WebAppkind = functionAppContainer
时是必需的。
特定注册表或命名空间的全局唯一顶级域名。 注意:完全限定的图像名称的格式为:{registry or namespace}/{repository}:{tag}
。 例如,myregistry.azurecr.io/nginx:latest
。
DockerRepository
-
图像
string
。
WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
时是必需的。
存储容器映像的存储库的名称。 注意:完全限定的图像名称的格式为:{registry or namespace}/{repository}:{tag}
。 例如,myregistry.azurecr.io/nginx:latest
。
DockerRepository
-
图像
string
。
WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
时是必需的。
存储容器映像的存储库的名称。 注意:完全限定的图像名称的格式为:{registry or namespace}/{repository}:{tag}
。 例如,myregistry.azurecr.io/nginx:latest
。
DockerRepository
-
图像
string
。
WebAppKind = webAppContainer || WebAppkind = functionAppContainer
时是必需的。
存储容器映像的存储库的名称。 注意:完全限定的图像名称的格式为:{registry or namespace}/{repository}:{tag}
。 例如,myregistry.azurecr.io/nginx:latest
。
DockerImageTag
-
标记
string
。 自选。 当 WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
时使用。
标记是注册表用来将版本信息应用于 Docker 映像的机制。 注意:完全限定的图像名称的格式为:{registry or namespace}/{repository}:{tag}
。 例如,myregistry.azurecr.io/nginx:latest
。
DockerImageTag
-
标记
string
。 自选。 当 WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
时使用。
标记是注册表用来将版本信息应用于 Docker 映像的机制。 注意:完全限定的图像名称的格式为:{registry or namespace}/{repository}:{tag}
。 例如,myregistry.azurecr.io/nginx:latest
。
DockerImageTag
-
标记
string
。 自选。 当 WebAppKind = webAppContainer || WebAppkind = functionAppContainer
时使用。
标记是注册表用来将版本信息应用于 Docker 映像的机制。 注意:完全限定的图像名称的格式为:{registry or namespace}/{repository}:{tag}
。 例如,myregistry.azurecr.io/nginx:latest
。
VirtualApplication
-
虚拟应用程序
string
。 自选。 当 WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != ""
时使用。
指定已在 Azure 门户中配置的虚拟应用程序的名称。 部署到网站根目录不需要此选项。 必须在部署 Web 项目之前配置虚拟应用程序。
VirtualApplication
-
虚拟应用程序
string
。 自选。 当 WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != ""
时使用。
指定已在 Azure 门户中配置的虚拟应用程序的名称。 部署到网站根目录不需要此选项。 必须在部署 Web 项目之前配置虚拟应用程序。
packageForLinux
-
包或文件夹
输入别名:Package
。
string
。
ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux
时是必需的。 默认值:$(System.DefaultWorkingDirectory)/**/*.zip
。
包的文件路径,或指向包含 MSBuild 或压缩 zip 或 war 文件生成的应用服务内容的文件夹。
例如,$(System.DefaultWorkingDirectory)/\*\*/\*.zip
或 $(System.DefaultWorkingDirectory)/\*\*/\*.war
。
RuntimeStack
-
Runtime Stack
string
。 自选。 当 WebAppKind = webAppLinux
时使用。
指定框架和版本。
RuntimeStackFunction
-
Runtime Stack
string
。 自选。 当 WebAppKind = functionAppLinux
时使用。 允许的值:DOTNET|2.2
(DOTNET|2.2(functionapp v2))、DOTNET|3.1
(DOTNET|3.1(functionapp v3))、JAVA|8
(JAVA|8(functionapp v2/v3))、JAVA|11
(JAVA|11(functionapp v3))、NODE|8
(NODE|8(functionapp v2))、NODE|10
NODE|8
(NODE|8))NODE|12
(NODE|10(functionapp v2/v3))、NODE|12
(NODE|12(functionapp v3))、NODE|14
(NODE|14(functionapp v3))、PYTHON|3.6
(PYTHON|3.6(functionapp v2/v3))、PYTHON|3.7
(PYTHON|3.7(functionapp v2/v3)), PYTHON|3.8
(PYTHON|3.8 (functionapp v3))。
指定框架和版本。 有关支持的运行时版本,请参阅 Azure Functions 运行时版本概述。 弃用 DOCKER|microsoft/azure-functions-*
等旧值。 请使用下拉列表中的新值。
RuntimeStackFunction
-
Runtime Stack
string
。 自选。 当 WebAppKind = functionAppLinux
时使用。 允许的值:DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0
(.NET)、DOCKER|microsoft/azure-functions-node8:2.0
(JavaScript)。
指定框架和版本。
StartupCommand
-
Startup 命令
string
。 自选。 当 WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer
时使用。
指定 Startup 命令。 例如:
dotnet exec filename.dll
dotnet filename.dll
。
StartupCommand
-
Startup 命令
string
。 自选。 当 WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer
时使用。
指定 Startup 命令。 例如:
dotnet exec filename.dll
dotnet filename.dll
。
StartupCommand
-
Startup 命令
string
。 自选。 当 WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux
时使用。
指定 Startup 命令。 例如:
dotnet exec filename.dll
dotnet filename.dll
。
StartupCommand
-
Startup 命令
string
。 自选。 当 WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux
时使用。
指定 Startup 命令。 例如,dotnet run
dotnet filename.dll
。
StartupCommand
-
Startup 命令
string
。 自选。 当 WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer
时使用。
指定 Startup 命令。
ScriptType
-
部署脚本类型
string
。 自选。 当 ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
时使用。 允许的值:Inline Script
、File Path
(脚本文件路径)。
通过提供在成功部署后在 Azure 应用服务上运行的脚本来自定义部署。 选择内联部署脚本或脚本文件的路径和名称。 详细了解 Azure 应用服务部署。
ScriptType
-
部署脚本类型
string
。 自选。 当 ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
时使用。 允许的值:Inline Script
、File Path
(脚本文件路径)。
通过提供在成功部署后在 Azure 应用服务上运行的脚本来自定义部署。 选择内联部署脚本或脚本文件的路径和名称。 详细了解 Azure 应用服务部署。
InlineScript
-
内联脚本
string
。
ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
时是必需的。 默认值::: You can provide your deployment commands here. One command per line.
。
要执行的脚本。 可以在此处提供部署命令,每行一条命令。 请参阅以下示例。
InlineScript
-
内联脚本
string
。
ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
时是必需的。 默认值::: You can provide your deployment commands here. One command per line.
。
要执行的脚本。 可以在此处提供部署命令,每行一条命令。 请参阅以下示例。
ScriptPath
-
部署脚本路径
string
。
ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
时是必需的。
要执行的脚本的路径和名称。
ScriptPath
-
部署脚本路径
string
。
ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
时是必需的。
要执行的脚本的路径和名称。
WebConfigParameters
-
为 Python、Node.js、Go 和 Java 应用生成 web.config 参数
string
。 自选。 当 WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
时使用。
如果应用程序没有标准 Web.config
,将生成并部署到 Azure 应用服务。 可以编辑 web.config
中的值,并根据应用程序框架而有所不同。 例如,对于 node.js
应用程序,web.config
将具有启动文件和iis_node模块值。 此编辑功能仅适用于生成的 web.config
。 详细了解 Azure 应用服务部署。
WebConfigParameters
-
为 Python、Node.js、Go 和 Java 应用生成 web.config 参数
string
。 自选。 当 WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
时使用。
如果应用程序没有标准 Web.config
,将生成并部署到 Azure 应用服务。 可以编辑 web.config
中的值,并根据应用程序框架而有所不同。 例如,对于 node.js
应用程序,web.config
将具有启动文件和iis_node模块值。 此编辑功能仅适用于生成的 web.config
。 详细了解 Azure 应用服务部署。
AppSettings
-
应用设置
string
。 自选。 当 ConnectionType = AzureRM
时使用。
使用语法 -key value
编辑 Web 应用应用程序设置。 包含空格的值必须用双引号引起来。 示例:-Port 5000 -RequestTimeout 5000
和 -WEBSITE_TIME_ZONE "Eastern Standard Time"
。 若要提供两个或多个键值,键值必须用空格分隔。 示例:-key1 "Value1" -Key2 "Value2"
。
ConfigurationSettings
-
配置设置
string
。 自选。 当 ConnectionType = AzureRM
时使用。
使用语法 -key value
编辑 Web 应用配置设置。 包含空格的值必须用双引号引起来。 示例:-phpVersion 5.6 -linuxFxVersion node|6.11
。
enableCustomDeployment
-
选择部署方法
输入别名:UseWebDeploy
。
boolean
。 自选。 当 ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。 默认值:false
。
如果未选中或 false,任务将根据应用类型、包格式和其他参数自动检测最佳部署方法。 在任务助手中选中此选项以查看支持的部署方法,并选择一个用于部署应用的选项。
enableCustomDeployment
-
选择部署方法
输入别名:UseWebDeploy
。
boolean
。 自选。 当 ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。 默认值:false
。
如果未选中或 false,任务将根据应用类型、包格式和其他参数自动检测最佳部署方法。 在任务助手中选中此选项以查看支持的部署方法,并选择一个用于部署应用的选项。
DeploymentType
-
部署方法
string
。
UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时是必需的。 允许的值:webDeploy
(Web 部署)、zipDeploy
(Zip 部署)、runFromZip
(从包运行)。 默认值:webDeploy
。
确定应用的部署方法。
DeploymentType
-
部署方法
string
。
UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时是必需的。 允许的值:webDeploy
(Web 部署)、zipDeploy
(Zip 部署)、runFromZip
(从包运行)。 默认值:webDeploy
。
确定应用的部署方法。
TakeAppOfflineFlag
-
使应用脱机
boolean
。 自选。 当 UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。 默认值:true
。
通过在同步操作开始之前将 app_offline.htm
文件置于根目录中,指定此选项使 Azure 应用服务脱机。 同步成功完成后,将删除该文件。
TakeAppOfflineFlag
-
使应用脱机
boolean
。 自选。 当 UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。 默认值:true
。
通过在同步操作开始之前将 app_offline.htm
文件置于根目录中,指定此选项使 Azure 应用服务脱机。 同步成功完成后,将删除该文件。
SetParametersFile
-
SetParameters 文件
string
。 自选。 当 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。
要使用的 SetParameters.xml
文件的位置。
SetParametersFile
-
SetParameters 文件
string
。 自选。 当 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。
要使用的 SetParameters.xml
文件的位置。
RemoveAdditionalFilesFlag
-
在目标 删除其他文件
boolean
。 自选。 当 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。 默认值:false
。
指定“true”以删除在应用服务包或文件夹中没有匹配文件的 Azure 应用服务上的文件。 这还将删除与此 Azure 应用服务上安装的任何扩展相关的所有文件。 若要防止出现这种情况,请选中 Exclude files from App_Data folder
复选框。
RemoveAdditionalFilesFlag
-
在目标 删除其他文件
boolean
。 自选。 当 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。 默认值:false
。
指定“true”以删除在应用服务包或文件夹中没有匹配文件的 Azure 应用服务上的文件。 这还将删除与此 Azure 应用服务上安装的任何扩展相关的所有文件。 若要防止出现这种情况,请选中 Exclude files from App_Data folder
复选框。
ExcludeFilesFromAppDataFlag
-
从App_Data文件夹中排除文件
boolean
。 自选。 当 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。 默认值:true
。
指定用于防止将 App_Data
文件夹中的文件部署到/从 Azure 应用服务中删除的选项。
ExcludeFilesFromAppDataFlag
-
从App_Data文件夹中排除文件
boolean
。 自选。 当 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。 默认值:true
。
指定用于防止将 App_Data
文件夹中的文件部署到/从 Azure 应用服务中删除的选项。
AdditionalArguments
-
其他参数
string
。 自选。 当 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。 默认值:-retryAttempts:6 -retryInterval:10000
。
语法 -key:value
后面的其他 Web 部署参数。 部署 Azure 应用服务时将应用这些应用。 示例:-disableLink:AppPoolExtension -disableLink:ContentExtension
。 详细了解 Web 部署操作设置。
AdditionalArguments
-
其他参数
string
。 自选。 当 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。 默认值:-retryAttempts:6 -retryInterval:10000
。
语法 -key:value
后面的其他 Web 部署参数。 部署 Azure 应用服务时将应用这些应用。 示例:-disableLink:AppPoolExtension -disableLink:ContentExtension
。 详细了解 Web 部署操作设置。
RenameFilesFlag
-
重命名锁定的文件
boolean
。 自选。 当 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。 默认值:true
。
指定默认值以在 Azure 应用服务应用程序设置中 MSDEPLOY_RENAME_LOCKED_FILES=1
启用 msdeploy 标志。 如果已设置,则此选项允许 msdeploy 重命名在应用部署期间锁定的文件。
RenameFilesFlag
-
重命名锁定的文件
boolean
。 自选。 当 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
时使用。 默认值:true
。
指定默认值以在 Azure 应用服务应用程序设置中 MSDEPLOY_RENAME_LOCKED_FILES=1
启用 msdeploy 标志。 如果已设置,则此选项允许 msdeploy 重命名在应用部署期间锁定的文件。
enableXmlTransform
-
XML 转换
输入别名:XmlTransformation
。
boolean
。 自选。 当 WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
时使用。 默认值:false
。
配置转换将在 *.config file
上运行 *.Release.config
和 *.<EnvironmentName>.config
。 配置转换在变量替换之前运行。
XML 转换 仅支持 Windows 平台。
enableXmlTransform
-
XML 转换
输入别名:XmlTransformation
。
boolean
。 自选。 当 WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
时使用。 默认值:false
。
配置转换将在 *.config file
上运行 *.Release.config
和 *.<EnvironmentName>.config
。 配置转换在变量替换之前运行。
XML 转换 仅支持 Windows 平台。
enableXmlVariableSubstitution
-
XML 变量替换
输入别名:XmlVariableSubstitution
。
boolean
。 自选。 当 WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
时使用。 默认值:false
。
生成或发布管道中定义的变量将与任何配置文件和 parameters.xml
文件中 configSections
、appSettings
、applicationSettings
和 connectionStrings
节中的键或名称项匹配。 变量替换在配置转换后运行。
如果在发布管道和阶段中定义了相同的变量,则阶段变量将取代发布管道变量。 详细了解 [XML 变量替换]](/azure/devops/pipelines/tasks/transforms-variable-替换#xml-variable-替换)。
enableXmlVariableSubstitution
-
XML 变量替换
输入别名:XmlVariableSubstitution
。
boolean
。 自选。 当 WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
时使用。 默认值:false
。
生成或发布管道中定义的变量将与任何配置文件和 parameters.xml
文件中 configSections
、appSettings
、applicationSettings
和 connectionStrings
节中的键或名称项匹配。 变量替换在配置转换后运行。
如果在发布管道和阶段中定义了相同的变量,则阶段变量将取代发布管道变量。 详细了解 [XML 变量替换]](/azure/devops/pipelines/tasks/transforms-variable-替换#xml-variable-替换)。
JSONFiles
-
JSON 变量替换
string
。 自选。 当 WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
时使用。
提供换行分隔的 JSON 文件列表,以替换变量值。 文件名必须相对于根文件夹。 若要替换嵌套或分层的 JSON 变量,请使用 JSONPath
表达式指定它们。 例如,若要替换以下示例中 ConnectionString
的值,请在生成或发布管道(或发布管道阶段)中定义一个名为 Data.DefaultConnection.ConnectionString
的变量。
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
变量替换在配置转换后运行。 注意:生成和发布管道变量从替换中排除。 详细了解 JSON 变量替换。
JSONFiles
-
JSON 变量替换
string
。 自选。 当 WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
时使用。
提供换行分隔的 JSON 文件列表,以替换变量值。 文件名必须相对于根文件夹。 若要替换嵌套或分层的 JSON 变量,请使用 JSONPath
表达式指定它们。 例如,若要替换以下示例中 ConnectionString
的值,请在生成或发布管道(或发布管道阶段)中定义一个名为 Data.DefaultConnection.ConnectionString
的变量。
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
变量替换在配置转换后运行。 注意:生成和发布管道变量从替换中排除。 详细了解 JSON 变量替换。
任务控制选项
除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性。
输出变量
此任务定义以下 输出变量,可以在下游步骤、作业和阶段中使用。
AppServiceApplicationUrl
所选应用服务的应用程序 URL。
言论
使用此任务部署到 Azure 上的一系列应用服务。 该任务适用于运行 Windows、Linux 或 Mac 的跨平台代理,并使用多种不同的 基础部署技术。
该任务适用于 ASP.NET、ASP.NET Core、PHP、Java、Python、Go和基于 Node.js 的 Web 应用程序。
该任务可用于部署到一系列 Azure 应用服务,例如:
- 在 Windows 和 Linux 上
Web 应用 - 用于容器的 Web 应用
- 在 Windows 和 Linux 上
函数应用 - 用于容器的 函数应用
- WebJobs
- Azure 应用服务环境下配置的应用
任务的先决条件
必须在目标计算机中设置以下先决条件,使任务正常工作。
应用服务实例。 该任务用于将 Web 应用项目或 Azure 函数项目部署到现有的 Azure 应用服务实例,该实例必须存在于任务运行之前。 可以从 Azure 门户创建应用服务实例,并在其中配置 。 或者,Azure PowerShell 任务 可用于运行 Azure PowerShell 脚本 来预配和配置 Web 应用。
Azure 订阅。 若要部署到 Azure,必须将 Azure 订阅 链接到管道。 该任务不适用于 Azure 经典服务连接,并且不会在任务的设置中列出这些连接。
使用情况说明
- 该任务仅适用于 Azure 资源管理器 API。
- 若要忽略 SSL 错误,请在管道中使用值
true
定义名为VSTS_ARM_REST_IGNORE_SSL_ERRORS
的变量。 如果要部署到配置为自动交换的槽,除非将SCM_SKIP_SSL_VALIDATION
或SCM_SKIP_ASE_SSL_VALIDATION
设置为应用服务配置设置中的1
,否则交换将失败。 - 对于面向 Windows 上的 Web 应用的 .NET 应用,请确保 重命名锁定的文件,并 启用应用脱机 设置,避免部署失败并
ERROR_FILE_IN_USE
错误。 对于零停机时间部署,请使用槽交换选项。 - 部署到配置了 Application Insights 的应用服务时,并且已启用 删除目标中的其他文件时,请确保还启用 从App_Data文件夹中排除文件,以便保持 Application insights 扩展的安全状态。 这是必需的,因为 Application Insights 连续 Web 作业安装到App_Data文件夹中。
部署方法
此任务提供了多个部署方法。 Web 部署(msdeploy.exe)是默认值。 若要更改部署选项,请展开 “其他部署选项”,并启用 “选择部署方法” 以从其他基于包的部署选项中进行选择。
根据 Azure 应用服务和代理的类型,任务选择合适的部署技术。 任务使用的不同部署技术包括:
默认情况下,任务会尝试根据输入包类型、应用服务类型和代理操作系统选择适当的部署技术。
自动检测逻辑
对于基于 Windows 的代理。
应用服务类型 | 包类型 | 部署方法 |
---|---|---|
Linux 上的 WebApp 或 Linux 上的 Function App | 文件夹/Zip/jar War |
Zip 部署 战争部署 |
用于容器的 WebApp(Linux)或用于容器的函数应用(Linux) | 更新应用设置 | 那 |
Windows 上的 WebApp、Windows 上的 Function App、API 应用或移动应用 | War Jar MsBuild 包类型或部署到虚拟应用程序 Folder/Zip |
War Deploy Zip Deploy Web Deploy if postDeploymentScript == true, Zip Deploy else, Run From Package |
对于非 Windows 代理(对于任何应用服务类型),任务依赖于 Kudu REST API 来部署应用。
Web 部署
Web 部署(msdeploy.exe)可用于使用 Windows 代理将 Web 应用或函数应用部署到 Azure 应用服务。 Web 部署功能丰富,提供以下选项:
重命名锁定的文件: 通过在 Azure 应用服务设置中启用 msdeploy 标志
MSDEPLOY\_RENAME\_LOCKED\_FILES=1
来重命名 Web 服务器仍在使用的任何文件。 如果已设置此选项,则允许 msdeploy 重命名在应用部署期间锁定的文件。删除目标处的其他文件: 删除 Azure 应用服务中未部署应用服务项目包或文件夹中匹配文件的文件。
从App_Data文件夹中排除文件: 阻止将App_Data文件夹中的文件(正在部署的项目包/文件夹中)中的文件部署到 Azure 应用服务
其他 Web 部署参数:部署 Azure 应用服务时将应用的 参数。 示例:
-disableLink:AppPoolExtension -disableLink:ContentExtension
。 有关 Web 部署操作设置的更多示例,请参阅 Web 部署操作设置。
从 Web Deploy 3.6在代理上安装 Web 部署。 在没有捆绑的 SQL 支持的情况下,必须安装 Web 部署 3.5。 安装 Web 部署时无需选择任何自定义设置。 Web 部署安装在 C:/Program Files (x86)/IIS/Microsoft Web Deploy V3
。
Kudu REST API
容器注册表
当目标为用于容器的 Web 应用时,适用于 Windows 和 Linux 自动化代理。 该任务通过设置相应的容器注册表、存储库、映像名称和标记信息来更新应用。 还可以使用该任务传递容器映像的启动命令。
Zip 部署
需要 .zip 部署包,并将文件内容部署到 Azure 中应用服务或 Function App 的 wwwroot 文件夹中。
此选项覆盖 wwwroot 文件夹中的所有现有内容。 有关详细信息,请参阅 Azure Functions
从包运行
需要与 Zip 部署相同的部署包。 但是,整个包由 Functions 运行时装载,而不是将文件部署到 wwwroot 文件夹中,wwwroot 文件夹中的文件将变为只读。 有关详细信息,请参阅 从包文件运行 Azure Functions。
战争部署
需要 .war 部署包,并将文件内容部署到 azure 中应用服务的 wwwroot 文件夹或 webapps 文件夹。
故障 排除
无法使用 Windows 代理中的 Microsoft Entra ID 身份验证将 Web 部署到 Azure 应用服务
Azure 应用服务部署任务支持使用 Microsoft Entra ID 连接到 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 最新)。 如果使用自承载代理,请在代理上安装 Visual Studio 2022 以获取较新版本的 msdeploy.exe。
- 如果依赖于较旧的代理映像,并且无法更新管道的代理,请考虑拆分作业,以便 Azure 应用服务部署任务在 windows-2022 上运行(或 windows 最新)。
- 如果这两个选项都不可能,则可以 为 Azure 应用服务启用基本身份验证。
错误:无法获取 Azure 的访问令牌。 验证所使用的服务主体是否有效且未过期。
该任务使用服务连接中的服务主体向 Azure 进行身份验证。 如果服务主体已过期或无权访问应用服务,则任务将失败,并出现此错误。 验证所使用的服务主体的有效性,以及它是否存在于应用注册中。 有关详细信息,请参阅 使用基于角色的访问控制来管理对 Azure 订阅资源的访问。 此博客文章 还包含有关使用服务主体身份验证的详细信息。
SSL 错误
如果要在应用服务中使用证书,证书必须由受信任的证书颁发机构签名。 如果 Web 应用提供了证书验证错误,则可能使用的是自签名证书。 将名为 VSTS_ARM_REST_IGNORE_SSL_ERRORS
的变量设置为生成或发布管道中的值 true
以解决错误。
发布会长时间挂起,然后失败
此问题可能是应用服务计划中容量不足的结果。 若要解决此问题,可以纵向扩展应用服务实例以增加可用的 CPU、RAM 和磁盘空间,或者尝试使用不同的应用服务计划。
5xx 错误代码
如果看到 5xx 错误,检查 Azure 服务的状态。
Azure 函数突然停止工作
如果自上次部署以来超过一年,Azure Functions 可能会突然停止工作。 如果在“deploymentMethod”中使用“RunFromPackage”进行部署,则会生成过期日期为 1 年的 SAS,并将其设置为应用程序配置中的“WEBSITE_RUN_FROM_PACKAGE”值。 Azure Functions 使用此 SAS 引用包文件来执行函数,因此,如果 SAS 已过期,则不会执行该函数。 若要解决此问题,请再次部署,以生成到期日期为一年的 SAS。
错误:找不到具有指定模式的包
检查任务中提到的包是否发布为生成或上一阶段中的项目,并在当前作业中下载。
错误:msBuild 包类型不支持使用 zip 部署选项发布
通过 MSBuild 任务(具有默认参数)创建的 Web 包具有嵌套文件夹结构,该结构只能由 Web 部署正确部署。 发布到 zip 部署选项不能用于部署这些包。 若要转换打包结构,请执行以下步骤:
在生成解决方案任务中,将 MSBuild 参数 更改为
/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent"
:添加存档任务并更改值,如下所示:
将 根文件夹或文件更改为存档 以
$(System.DefaultWorkingDirectory)\\WebAppContent
。清除 将根文件夹名称追加到存档路径 复选框:
Windows 上的 Web 应用部署成功,但应用不起作用
这可能是因为应用中不存在 web.config。 可以使用任务的“文件转换”和“变量替换选项”将 web.config 文件添加到源或自动生成一个文件。
单击该任务,然后转到“为 Python、Node.js、Go 和 Java 应用生成 web.config 参数。
单击“更多”按钮,为 Python、Node.js、Go 和 Java 应用生成 web.config 参数以编辑参数。
从下拉列表中选择应用程序类型。
单击“确定”。 这将填充生成 web.config所需的 web.config 参数。
注意
此部分已弃用,已替换为 文件转换 任务。
ERROR_FILE_IN_USE
将 .NET 应用部署到 Windows 上的 Web 应用时,部署可能会失败,错误代码 ERROR_FILE_IN_USE。 若要解决此错误,请确保 重命名锁定的文件,并在任务中启用 使应用脱机 选项。 对于零停机时间部署,请使用槽交换。
还可以使用 从包部署 方法运行,以避免资源锁定。
Web 部署错误
如果使用 Web 部署来部署应用,在某些情况下,Web 部署会在日志中显示错误代码。 若要排查 Web 部署错误,请参阅 Web 部署错误代码。
应用服务环境上的 Web 应用部署(ASE)不起作用
- 确保 Azure DevOps 生成代理与 ASE 的内部负载均衡器(ILB)位于同一 VNET(子网)上。 这将使代理能够从 Azure DevOps 拉取代码并部署到 ASE。
- 如果使用 Azure DevOps,则代理不需要从 Internet 访问,但只需要出站访问权限才能连接到 Azure DevOps Service。
- 如果使用虚拟网络中部署的 TFS/Azure DevOps Server,则可以完全隔离代理。
- 必须配置生成代理,并配置它需要部署到的 Web 应用的 DNS 配置。 由于虚拟网络中的专用资源在 Azure DNS 中没有条目,因此需要将其添加到代理计算机上的 hosts 文件。
- 如果将自签名证书用于 ASE 配置,则需要在 MSDeploy 的部署任务中设置
-allowUntrusted
选项。 此外,建议将变量VSTS_ARM_REST_IGNORE_SSL_ERRORS
设置为 true。 如果证书颁发机构的证书用于 ASE 配置,则不需要这样做。 如果要部署到配置为自动交换的槽,除非将SCM_SKIP_SSL_VALIDATION
或SCM_SKIP_ASE_SSL_VALIDATION
设置为应用服务配置设置中的1
,否则交换将失败。
常见问题解答
AzureWebApp
和 AzureRmWebAppDeployment
任务之间的区别是什么?
Azure Web 应用任务(AzureWebApp
)是部署到 Azure Web 应用的最简单方法。 默认情况下,部署发生在 Azure Web 应用中的根应用程序。
Azure 应用服务部署任务(AzureRmWebAppDeployment
) 可以处理更多自定义方案,例如:
- 修改 Web 包和 XML 参数文件中 的配置设置。
- 如果用于 IIS 部署过程,使用 Web 部署进行部署。
- 部署到虚拟应用程序。
- 部署到其他应用类型,例如容器应用、函数应用、WebJobs 或 API 和移动应用。
注意
单独的 文件转换任务 也支持文件转换和变量替换,以便在 Azure Pipelines 中使用。 可以使用文件转换任务对任何配置和参数文件应用文件转换和变量替换。
如何配置服务连接?
此任务需要 Azure 资源管理器服务连接。
如何使用 Application Insights 配置 Web 作业部署?
部署到应用服务时,如果已配置 Application Insight s,并且已启用 Remove additional files at destination
,则还需要启用 Exclude files from the App_Data folder
。 启用此选项可使 Application Insights 扩展处于安全状态。 此步骤是必需的,因为 Application Insights 连续 WebJob 安装在 App_Data 文件夹中。
部署到应用服务时,如果代理位于代理后面,应如何配置代理?
如果自承载代理需要 Web 代理,可以在配置过程中通知代理有关代理的信息。 这样做允许代理通过代理连接到 Azure Pipelines 或 Azure DevOps Server。 详细了解如何在 Web 代理后面运行自承载代理。
例子
部署到特定应用类型
若要部署到特定应用类型,请将 appType
设置为以下任一接受的值:webApp
(Windows 上的 Web 应用)、webAppLinux
(Linux 上的 Web 应用)、webAppContainer
(适用于容器的 Web 应用 - Linux)、functionApp
(Windows 上的函数应用)、functionAppLinux
(Linux 上的 Function App)、functionAppContainer
(适用于容器的 Function App - Linux)、apiApp
(API 应用)、mobileApp
(移动应用)。 如果未提及,则 webApp
被视为默认值。
若要启用任何高级部署选项,请添加参数 enableCustomDeployment: true
并根据需要包含以下参数。
# deploymentMethod: 'runFromPackage' # supports zipDeploy as well
# appOffline: boolean # Not applicable for 'runFromPackage'
# setParametersFile: string
# removeAdditionalFilesFlag: boolean
# additionalArguments: string
部署到 Azure Web App Linux 容器
以下 YAML 示例部署到 Azure Web 应用容器(Linux)。
pool:
vmImage: ubuntu-latest
variables:
azureSubscriptionEndpoint: Contoso
DockerNamespace: contoso.azurecr.io
DockerRepository: aspnetcore
WebAppName: containersdemoapp
steps:
- task: AzureRMWebAppDeployment@4
displayName: Azure App Service Deploy
inputs:
appType: webAppContainer
ConnectedServiceName: $(azureSubscriptionEndpoint)
WebAppName: $(WebAppName)
DockerNamespace: $(DockerNamespace)
DockerRepository: $(DockerRepository)
DockerImageTag: $(Build.BuildId)
跨部署槽将 Web 应用部署到 Windows 应用服务
以下示例跨部署槽将 Web 应用部署到 Windows 应用服务。
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
stages:
- stage: DeployDevStage
displayName: 'Deploy App to Dev Slot'
jobs:
- job: DeployApp
displayName: 'Deploy App'
steps:
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: 'drop'
targetPath: '$(System.DefaultWorkingDirectory)'
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'Fabrikam Azure Subscription - PartsUnlimited'
appType: 'webApp'
WebAppName: 'partsunlimited'
deployToSlotOrASE: true
ResourceGroupName: 'rgPartsUnlimited'
SlotName: 'Dev'
packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip'
- stage: DeployStagingStage
displayName: 'Deploy App to Staging Slot'
dependsOn: DeployDevStage
jobs:
- job: DeployApp
displayName: 'Deploy App'
steps:
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: 'drop'
targetPath: '$(System.DefaultWorkingDirectory)'
- task: AzureRmWebAppDeployment@4
inputs:
appType: webApp
ConnectionType: AzureRM
ConnectedServiceName: 'Fabrikam Azure Subscription - PartsUnlimited'
ResourceGroupName: 'rgPartsUnlimited'
WebAppName: 'partsunlimited'
Package: '$(System.DefaultWorkingDirectory)/**/*.zip'
deployToSlotOrASE: true
SlotName: 'staging'
部署后示例脚本
该任务提供一个选项来自定义部署,方法是提供一个脚本,该脚本将在应用的项目成功复制到应用服务后在 Azure 应用服务上运行。 可以选择在项目文件夹中提供内联部署脚本或脚本文件的路径和名称。
若要直接在应用服务上还原应用程序依赖项,这非常有用。 还原 Node、PHP 和 python 应用的包有助于避免在应用程序依赖项导致将大型项目从代理复制到 Azure 应用服务时超时。
部署脚本的示例为:
@echo off
if NOT exist requirements.txt (
echo No Requirements.txt found.
EXIT /b 0
)
if NOT exist "$(PYTHON_EXT)/python.exe" (
echo Python extension not available >&2
EXIT /b 1
)
echo Installing dependencies
call "$(PYTHON_EXT)/python.exe" -m pip install -U setuptools
if %errorlevel% NEQ 0 (
echo Failed to install setuptools >&2
EXIT /b 1
)
call "$(PYTHON_EXT)/python.exe" -m pip install -r requirements.txt
if %errorlevel% NEQ 0 (
echo Failed to install dependencies>&2
EXIT /b 1
)
要求
要求 | 描述 |
---|---|
管道类型 | YAML,经典版本,经典版本 |
运行时间 | 代理,DeploymentGroup |
需求 | 没有 |
功能 | 此任务不满足作业中后续任务的任何要求。 |
命令限制 | 任何 |
|
任何 |
代理版本 | 2.104.1 或更高版本 |
任务类别 | 部署 |
另请参阅
- 此任务是 GitHub上的开源
。 欢迎提供反馈和贡献。