AzureRmWebAppDeployment@4 - Azure App Service 部署 v4 工作
使用此工作,使用 Docker、Java、.NET、.NET Core、Node.js、PHP、Python 或 Ruby 部署至 Azure App Service Web、行動或 API 應用程式。
注意
使用 AzureFunctionApp@1 來部署 Azure Functions 應用程式。
使用內建映射或 Docker 容器更新 Windows 上的 Azure App Services、Linux 上的 Web 應用程式、ASP.NET、.NET Core、PHP、Python 或 Node.js 型 Web 應用程式、Windows 或 Linux 上的函式應用程式、使用 Docker 容器、行動應用程式、API 應用程式和 Web 作業,使用 Web Deploy/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 Resource Manager)、PublishProfile
(發行配置檔)。 預設值:AzureRM
。
指定要用來部署 Web 應用程式的服務連線類型。
指定
ConnectionType
-
連線類型
string
。 必填。 允許的值:AzureRM
(Azure Resource Manager)、PublishProfile
(發行配置檔)。 預設值:AzureRM
。
指定要用來部署 Web 應用程式的服務連線類型。
azureSubscription
-
Azure 訂用帳戶
輸入別名:ConnectedServiceName
。
string
。
ConnectionType = AzureRM
時為必要項。
指定部署的 Azure Resource Manager 訂用帳戶。
PublishProfilePath
-
發佈配置檔路徑
string
。
ConnectionType = PublishProfile
時為必要項。 預設值:$(System.DefaultWorkingDirectory)/**/*.pubxml
。
PublishProfilePassword
-
發佈配置檔密碼
string
。
ConnectionType = PublishProfile
時為必要項。
建議您將密碼儲存在秘密變數中,並在這裡使用該變數,例如 $(Password)
。
appType
-
App Service 類型
輸入別名:WebAppKind
。
string
。
ConnectionType = AzureRM
時為必要項。 允許的值:webApp
(Windows 上的 Web 應用程式)、webAppLinux
(Linux 上的 Web 應用程式)、webAppContainer
(適用於容器的 Web 應用程式)、webAppHyperVContainer
(適用於容器的 Web 應用程式(Windows))、functionApp
(不建議使用 Windows 上的函式 應用程式) 使用 Azure Functions 工作)、functionAppLinux
(不建議使用 Azure Functions 工作、使用 Azure Functions 工作))、functionAppContainer
(適用於容器的函式應用程式(Linux)(不建議使用 Azure Functions 作為容器工作) apiApp
(API 應用程式),mobileApp
(行動應用程式)。 預設值:webApp
。
從 Windows 上的 Web 應用程式、Linux 上的 Web 應用程式、適用於容器的 Web 應用程式、函式應用程式、Linux 上的函式應用程式、適用於容器的函式應用程式和行動應用程式進行選擇。
appType
-
App Service 類型
輸入別名:WebAppKind
。
string
。
ConnectionType = AzureRM
時為必要項。 允許的值:webApp
(Windows 上的 Web 應用程式)、webAppLinux
(Linux 上的 Web 應用程式)、webAppContainer
(適用於容器的 Web 應用程式)、functionApp
(Windows 上的函式應用程式)、functionAppLinux
(Linux 上的函式應用程式)、functionAppContainer
(適用於容器的函式應用程式)、apiApp
(API 應用程式)、mobileApp
(行動應用程式)。 預設值:webApp
。
從 Windows 上的 Web 應用程式、Linux 上的 Web 應用程式、適用於容器的 Web 應用程式、函式應用程式、Linux 上的函式應用程式、適用於容器的函式應用程式和行動應用程式進行選擇。
WebAppName
-
App Service 名稱
string
。
ConnectionType = AzureRM
時為必要項。
指定現有 Azure App Service 的名稱。 只有在使用工作助理時,才會列出以所選應用程式類型為基礎的應用程式服務。
deployToSlotOrASE
-
部署至位置或 App Service 環境
輸入別名:DeployToSlotOrASEFlag
。
boolean
。 自選。
ConnectionType = AzureRM && WebAppKind != ""
時使用 。 預設值:false
。
指定部署至現有部署位置或 Azure App Service 環境的選項。 針對這兩個目標,工作需要資源組名。
如果部署目標為位置,則部署預設會位於 Production 位置。 您可以提供任何其他現有的位置名稱。
如果部署目標是 Azure App Service 環境,請將位置名稱保留為 Production
,並只指定資源組名。
ResourceGroupName
-
資源群組
string
。
DeployToSlotOrASEFlag = true
時為必要項。
當部署目標為部署位置或 App Service 環境時,需要資源組名。
指定包含上面指定之 Azure App Service 的 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 檔案所產生之 App Service 內容的資料夾。
例如,$(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|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
-
啟動命令
string
。 自選。
WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer
時使用 。
指定啟動命令。 例如:
dotnet exec filename.dll
dotnet filename.dll
。
StartupCommand
-
啟動命令
string
。 自選。
WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer
時使用 。
指定啟動命令。 例如:
dotnet exec filename.dll
dotnet filename.dll
。
StartupCommand
-
啟動命令
string
。 自選。
WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux
時使用 。
指定啟動命令。 例如:
dotnet exec filename.dll
dotnet filename.dll
。
StartupCommand
-
啟動命令
string
。 自選。
WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux
時使用 。
指定啟動命令。 例如,dotnet run
dotnet filename.dll
。
StartupCommand
-
啟動命令
string
。 自選。
WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer
時使用 。
指定啟動命令。
ScriptType
-
部署文本類型
string
。 自選。
ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
時使用 。 允許的值:Inline Script
、File Path
(文稿檔案路徑)。
藉由提供在成功部署后在 Azure App Service 上執行的腳本,來自定義部署。 選擇內嵌部署文稿或腳本檔案的路徑和名稱。 深入瞭解 azure App Service 部署
ScriptType
-
部署文本類型
string
。 自選。
ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
時使用 。 允許的值:Inline Script
、File Path
(文稿檔案路徑)。
藉由提供在成功部署后在 Azure App Service 上執行的腳本,來自定義部署。 選擇內嵌部署文稿或腳本檔案的路徑和名稱。 深入瞭解 azure App Service 部署
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 App Service。
web.config
中的值可以編輯,並根據應用程式架構而有所不同。 例如,針對 node.js
應用程式,web.config
會有啟動檔案和iis_node模組值。 這項編輯功能僅適用於產生的 web.config
。 深入瞭解 azure App Service 部署
WebConfigParameters
-
為 Python、Node.js、Go 和 Java 應用程式產生 web.config 參數
string
。 自選。
WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
時使用 。
如果應用程式沒有標準 Web.config
,則會產生並部署至 Azure App Service。
web.config
中的值可以編輯,並根據應用程式架構而有所不同。 例如,針對 node.js
應用程式,web.config
會有啟動檔案和iis_node模組值。 這項編輯功能僅適用於產生的 web.config
。 深入瞭解 azure App Service 部署
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 Deploy)、zipDeploy
(Zip Deploy)、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 Deploy)、zipDeploy
(Zip Deploy)、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 App Service 離線。 同步處理成功完成之後,將會移除檔案。
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 App Service 離線。 同步處理成功完成之後,將會移除檔案。
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 App Service 上沒有相符檔案的 App Service 套件或資料夾中的檔案。 這也會移除與此 Azure App Service 上安裝之任何擴充功能相關的所有檔案。 若要避免這種情況,請選取 [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 App Service 上沒有相符檔案的 App Service 套件或資料夾中的檔案。 這也會移除與此 Azure App Service 上安裝之任何擴充功能相關的所有檔案。 若要避免這種情況,請選取 [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 App Service 部署/刪除。
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 App Service 部署/刪除。
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 Deploy自變數。 部署 Azure App Service 時,將會套用這些專案。 範例:-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 Deploy自變數。 部署 Azure App Service 時,將會套用這些專案。 範例:-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 App Service 應用程式設定中啟用 msdeploy 旗標 MSDEPLOY_RENAME_LOCKED_FILES=1
。 如果設定,這個選項可讓 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 App Service 應用程式設定中啟用 msdeploy 旗標 MSDEPLOY_RENAME_LOCKED_FILES=1
。 如果設定,這個選項可讓 msdeploy 重新命名在應用程式部署期間鎖定的檔案。
enableXmlTransform
-
XML 轉換
輸入別名:XmlTransformation
。
boolean
。 自選。
WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
時使用 。 預設值:false
。
組態轉換將會針對 *.Release.config
執行,並在 *.config file
上執行 *.<EnvironmentName>.config
。 組態轉換會在變數替代之前執行。
XML 轉換 僅支援 Windows 平臺。
enableXmlTransform
-
XML 轉換
輸入別名:XmlTransformation
。
boolean
。 自選。
WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
時使用 。 預設值:false
。
組態轉換將會針對 *.Release.config
執行,並在 *.config file
上執行 *.<EnvironmentName>.config
。 組態轉換會在變數替代之前執行。
XML 轉換 僅支援 Windows 平臺。
enableXmlVariableSubstitution
-
XML 變數替代
輸入別名:XmlVariableSubstitution
。
boolean
。 自選。
WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
時使用 。 預設值:false
。
建置或發行管線中定義的變數將會與 configSections
、appSettings
、applicationSettings
和 connectionStrings
區段中的索引鍵或名稱專案比對,以及 parameters.xml
檔案的區段。 變數替代會在組態轉換之後執行。
如果在發行管線和階段中定義相同的變數,階段變數將會取代發行管線變數。 深入瞭解 [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
。
建置或發行管線中定義的變數將會與 configSections
、appSettings
、applicationSettings
和 connectionStrings
區段中的索引鍵或名稱專案比對,以及 parameters.xml
檔案的區段。 變數替代會在組態轉換之後執行。
如果在發行管線和階段中定義相同的變數,階段變數將會取代發行管線變數。 深入瞭解 [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"
}
}
}
變數替代會在組態轉換之後執行。 注意:建置和發行管線變數會排除在替代之外。 深入瞭解
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"
}
}
}
變數替代會在組態轉換之後執行。 注意:建置和發行管線變數會排除在替代之外。 深入瞭解
工作控制選項
除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制項選項和一般工作屬性。
輸出變數
此工作會定義下列 輸出變數,您可以在下游步驟、作業和階段中取用這些變數。
AppServiceApplicationUrl
所選 App Service 的應用程式 URL。
言論
使用此工作部署至 Azure 上的 App Services 範圍。 此工作適用於執行 Windows、Linux 或 Mac 的跨平臺代理程式,並使用數種不同的 基礎部署技術,。
此工作適用於 ASP.NET、ASP.NET Core、PHP、Java、Python、Go和 Node.js 型 Web 應用程式。
此工作可用來部署至一系列 Azure App Services,例如:
- 在 Windows 和 Linux 上
Web Apps - Web Apps for Containers
- 在 Windows 和 Linux 上
函式應用程式 - 適用於容器的 函式應用程式
- WebJobs
- 在 Azure App Service 環境 下設定的應用程式
工作的必要條件
下列必要條件必須在目標機器中設定,工作才能正常運作。
App Service 實例。 此工作是用來將 Web 應用程式專案或 Azure Function 專案部署到現有的 Azure App Service 實例,該實例必須在工作執行之前存在。 您可以從 Azure 入口網站建立 App Service 實例, 並 在那裡設定。 或者,Azure PowerShell 工作 可用來 Azure PowerShell 腳本 布建及設定 Web 應用程式。
Azure 訂用帳戶。 若要部署至 Azure,Azure 訂用帳戶必須 連結至管線。 工作無法與 Azure 傳統服務連線搭配運作,而且不會在工作的設定中列出這些連線。
使用量注意事項
- 此工作僅適用於 Azure Resource Manager API。
- 若要忽略 SSL 錯誤,請使用管線中的值
true
定義名為VSTS_ARM_REST_IGNORE_SSL_ERRORS
的變數。 如果您要部署到設定為自動交換的插槽,除非您在應用程式服務組態設定中將SCM_SKIP_SSL_VALIDATION
或SCM_SKIP_ASE_SSL_VALIDATION
設定為1
,否則交換將會失敗。 - 針對以 Windows 上的 Web 應用程式為目標的 .NET 應用程式,請確定
重新命名鎖定的檔案,並 啟用讓應用程式離線 設定,以避免部署失敗,並。 針對零停機部署,請使用位置交換選項。 - 部署至已設定 Application Insights 的 App Service,且您已啟用 移除目的地的其他檔案時,請確定您也啟用 從 App_Data 資料夾排除檔案,以維持 Application insights 擴充功能的安全狀態。 這是必要的,因為 Application Insights 連續 Web 作業會安裝到 App_Data 資料夾中。
部署方法
此工作提供數個部署方法。 Web Deploy (msdeploy.exe) 是預設值。 若要變更部署選項,請展開 [[其他部署選項] 並啟用 [選取部署方法],以從其他套件型部署選項中選擇。
根據 Azure App Service 和代理程式的類型,工作會選擇適當的部署技術。 工作所使用的不同部署技術如下:
根據預設,工作會根據輸入套件類型、App Service 類型和代理程式操作系統,嘗試選取適當的部署技術。
自動偵測邏輯
針對以 Windows 為基礎的代理程式。
App Service 類型 | 套件類型 | 部署方法 |
---|---|---|
Linux 上的 WebApp 或 Linux 上的函式應用程式 | Folder/Zip/jar War |
Zip 部署 戰爭部署 |
適用於容器的 WebApp (Linux) 或容器函式應用程式 (Linux) | 更新應用程式設定 | 那 |
Windows 上的 WebApp、Windows 上的函式應用程式、API 應用程式或行動應用程式 | War Jar MsBuild 套件類型或部署到虛擬應用程式 Folder/Zip |
War Deploy Zip Deploy Web Deploy if postDeploymentScript == true, Zip Deploy else, Run From Package |
在非 Windows 代理程式上(針對任何 App Service 類型),工作依賴 Kudu REST API 來部署應用程式。
Web Deploy
Web Deploy (msdeploy.exe) 可用來使用 Windows 代理程式將 Web 應用程式部署至 Azure App Service。 Web Deploy 功能豐富,並提供選項,例如:
重新命名鎖定的檔案: 在 Azure App Service 設定中啟用 msdeploy 旗標
MSDEPLOY\_RENAME\_LOCKED\_FILES=1
,重新命名網頁伺服器仍在使用的任何檔案。 如果設定此選項,可讓 msdeploy 重新命名在應用程式部署期間鎖定的檔案。移除目的地的其他檔案: 刪除 Azure App Service 中未部署 App Service 成品套件或資料夾中相符檔案的檔案。
排除App_Data資料夾中的檔案: 防止部署至 Azure App Service 的App_Data資料夾中的檔案
其他 Web Deploy 自變數:部署 Azure App Service 時將套用的 自變數。 範例:
-disableLink:AppPoolExtension -disableLink:ContentExtension
。 如需 Web Deploy 作業設定的更多範例,請參閱 Web Deploy 作業設定。
從 Web Deploy 3.6在代理程式上安裝 Web Deploy。 必須安裝 Web Deploy 3.5,而不需要配套的 SQL 支援。 安裝 Web Deploy 時,不需要選擇任何自定義設定。 Web Deploy 安裝在 C:/Program Files (x86)/IIS/Microsoft Web Deploy V3
。
Kudu REST API
Kudu REST API 當目標為 Windows 上的 Web 應用程式、Linux 上的 Web 應用程式(內建來源)或函式應用程式時,適用於 Windows 和 Linux 自動化代理程式。 工作會使用 Kudu 將檔案複製到 Azure App Service。
Container Registry
當目標為適用於容器的 Web 應用程式時,適用於 Windows 和 Linux 自動化代理程式。 工作會藉由設定適當的容器登錄、存放庫、映像名稱和標記資訊來更新應用程式。 您也可以使用工作來傳遞容器映像的啟動命令。
Zip Deploy
預期 .zip 部署套件,並將檔案內容部署到 Azure 中 App Service 或函式應用程式的 wwwroot 資料夾。
此選項會覆寫 wwwroot 資料夾中的所有現有內容。 如需詳細資訊,請參閱 azure Functions
從套件執行
預期與 Zip Deploy 相同的部署套件。 不過,除了將檔案部署至 wwwroot 資料夾,而是由 Functions 執行時間掛接整個套件,而 wwwroot 資料夾中的檔案會變成唯讀。 如需詳細資訊,請參閱 從套件檔案執行 Azure Functions。
戰爭部署
預期 .war 部署套件,並將檔案內容部署到 azure 中 App Service 的 wwwroot 資料夾或 webapps 資料夾。
故障排除
我無法使用來自 Windows 代理程式的 Microsoft Entra ID 驗證,將 Web 部署至 Azure App Service
Azure App Service 部署工作支援使用 Microsoft Entra 標識符連線至 azure Microsoft Azure,除非有下列三個條件:
- 您在 Windows 代理程式上使用 Web Deploy 套件格式
- 您的代理程式是以舊版的 msdeploy.exe 執行(例如,使用 windows-2019 裝載代理程式映射時)
- Azure App Service 已停用基本身份驗證
如果存在這三個條件,您會收到類似 App Service is configured to not use basic authentication. This requires Web Deploy msdeploy.exe version 7.1.7225.2108 or higher. You need a version of Visual Studio that includes an updated version of msdeploy.exe. For more information, visit https://aka.ms/azdo-webapp-msdeploy.
若要解決此問題,您可以選擇下列選項,依喜好設定順序。
- 更新代理程式映像。 如果您使用裝載的代理程式,請從 windows-2019 移至 windows-2022 (或 windows-latest)。 如果您使用自我載入的代理程式,請在代理程式上安裝 Visual Studio 2022,以取得較新版本的 msdeploy.exe。
- 如果您相依於較舊的代理程式映射,且無法更新管線的代理程式,請考慮分割作業,讓 Azure App Service 部署工作在 windows-2022
上執行(或 windows-latest )。 - 如果這兩個選項都不可能,您可以 為 Azure App Service 啟用基本身份驗證。
錯誤:無法擷取 Azure 的存取令牌。 確認所使用的服務主體是否有效且未過期。
工作會使用服務連線中的服務主體向 Azure 進行驗證。 如果服務主體已過期或沒有 App Service 的許可權,工作就會失敗,並出現此錯誤。 確認所使用服務主體的有效性,以及它存在於應用程式註冊中。 如需詳細資訊,請參閱 使用角色型訪問控制來管理 Azure 訂用帳戶資源的存取。 此部落格文章 也包含有關使用服務主體驗證的詳細資訊。
SSL 錯誤
如果您想要在 App Service 中使用憑證,則必須由受信任的證書頒發機構單位簽署憑證。 如果您的 Web 應用程式提供憑證驗證錯誤,您可能會使用自我簽署憑證。 將名為 VSTS_ARM_REST_IGNORE_SSL_ERRORS
的變數設定為組建或發行管線中 true
的值,以解決錯誤。
發行長時間停止回應,然後失敗
此問題可能是 App Service 方案中容量不足的結果。 若要解決此問題,您可以相應增加App Service 實例,以增加可用的CPU、RAM和磁碟空間,或嘗試使用不同的App Service方案。
5xx 錯誤碼
如果您看到 5xx 錯誤,檢查 Azure 服務的狀態。
Azure 函式突然停止運作
如果自上次部署以來超過一年,Azure Functions 可能會突然停止運作。 如果您在 「deploymentMethod」 中使用 「RunFromPackage」 進行部署,則會產生到期日為 1 年的 SAS,並在應用程式組態中設定為 「WEBSITE_RUN_FROM_PACKAGE」 的值。 Azure Functions 會使用此 SAS 參考套件檔案來執行函式,因此如果 SAS 已過期,則不會執行函式。 若要解決此問題,請再次部署以產生到期日為一年的SAS。
錯誤:找不到具有指定模式的套件
檢查工作中提及的套件是否已在組建或上一個階段中發佈為成品,並在目前作業中下載。
錯誤:msBuild 套件類型不支援使用 zip deploy 選項發佈
透過 MSBuild 工作建立的 Web 套件(含預設自變數)具有巢狀資料夾結構,只能由 Web Deploy 正確部署。 publish-to-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 產生 web.config 參數],Node.js、Go 和 Java 應用程式。
按兩下 [為 Python 產生 web.config 參數] 按鈕,Node.js、Go 和 Java 應用程式編輯參數。
從下拉式清單中選取您的應用程式類型。
按兩下 [確定]。 這會填入產生 web.config所需的 web.config 參數。
注意
本節已被取代,並已取代為 檔案轉換 工作。
ERROR_FILE_IN_USE
將 .NET 應用程式部署至 Windows 上的 Web 應用程式時,部署可能會失敗,錯誤碼 ERROR_FILE_IN_USE。 若要解決此錯誤,請確定 重新命名鎖定的檔案,在工作中啟用 [讓應用程式離線] 選項。 針對零停機部署,請使用位置交換。
您也可以使用 從套件部署 方法來避免資源鎖定。
Web Deploy 錯誤
如果您使用 Web 部署來部署應用程式,在某些錯誤案例中,Web Deploy 會在記錄檔中顯示錯誤碼。 若要針對 Web 部署錯誤進行疑難解答,請參閱 Web Deploy 錯誤碼。
App Service 環境上的 Web 應用程式部署 (ASE) 無法運作
- 請確定 Azure DevOps 建置代理程式位於與 ASE 的內部負載平衡器 (ILB) 相同的 VNET (子網) 上。 這可讓代理程式從 Azure DevOps 提取程式碼並部署至 ASE。
- 如果您使用 Azure DevOps,則代理程式不需要從因特網存取,但只需要輸出存取才能連線到 Azure DevOps Service。
- 如果您使用部署在虛擬網路中的 TFS/Azure DevOps Server,代理程式可以完全隔離。
- 建置代理程式必須設定其部署所需的 Web 應用程式的 DNS 組態。 由於虛擬網路中的私人資源在 Azure DNS 中沒有專案,因此這必須新增至代理程式電腦上的主機檔案。
- 如果自我簽署憑證用於 ASE 組態,則必須在 MSDeploy 的部署工作中設定
-allowUntrusted
選項。 也建議將變數設定為 trueVSTS_ARM_REST_IGNORE_SSL_ERRORS
。 如果證書頒發機構單位的憑證用於 ASE 設定,就不應該這樣做。 如果您要部署到設定為自動交換的插槽,除非您在應用程式服務組態設定中將SCM_SKIP_SSL_VALIDATION
或SCM_SKIP_ASE_SSL_VALIDATION
設定為1
,否則交換將會失敗。
常見問題
AzureWebApp
與 AzureRmWebAppDeployment
工作之間的差異為何?
Azure Web 應用程式工作 (AzureWebApp
) 是部署至 Azure Web 應用程式的最簡單方式。 根據預設,您的部署會發生在 Azure Web 應用程式中的根應用程式。
Azure App Service Deploy 工作 (AzureRmWebAppDeployment
) 可以處理更多自定義案例,例如:
- 修改 Web 套件和 XML 參數檔案內的組態設定。
- 如果您使用 IIS 部署程式,使用 Web Deploy進行部署。
- 部署至虛擬應用程式。
- 部署到其他應用程式類型,例如容器應用程式、函式應用程式、WebJobs 或 API 和行動應用程式。
注意
個別 檔案轉換工作也支援檔案轉換和變數替代,以用於 Azure Pipelines。 您可以使用檔案轉換工作,在任何組態和參數檔案上套用檔案轉換和變數替代。
如何設定我的服務連線?
此工作需要 Azure Resource Manager 服務連線。
如何使用 Application Insights 設定 Web 作業部署?
當您部署至 App Service 時,如果您已 已設定 Application Insights,且您已 Remove additional files at destination
啟用 ,則也需要啟用 Exclude files from the App_Data folder
。 啟用此選項可讓 Application Insights 擴充功能處於安全狀態。 這是必要步驟,因為 Application Insights 連續 WebJob 會安裝到 App_Data 資料夾中。
當我部署至 App Service 時,如果代理程式位於 Proxy 後方,應該如何設定代理程式?
如果您的自我裝載代理程式需要 Web Proxy,您可以在設定期間通知代理程式有關 Proxy。 這麼做可讓您的代理程式透過 Proxy 連線到 Azure Pipelines 或 Azure DevOps Server。 深入瞭解在 Web Proxy 後方執行自我裝載代理程式,。
例子
部署到特定應用程式類型
若要部署至特定應用程式類型,請將 appType
設定為下列任何公認的值:webApp
(Windows 上的 Web 應用程式)、webAppLinux
(Linux 上的 Web 應用程式)、webAppContainer
(適用於容器的 Web 應用程式 - Linux)、functionApp
(Windows 上的函式應用程式)、functionAppLinux
(Linux 上的函式應用程式)、functionAppContainer
(適用於容器的函式應用程式 - 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 App Service
下列範例會將 Web 應用程式部署到跨部署位置的 Windows App Service。
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'
部署後腳本範例
工作提供一個選項來自定義部署,方法是提供腳本,以在應用程式成品成功複製到App Service 之後,於 Azure App Service 上執行。 您可以選擇提供內嵌部署文稿,或成品資料夾中腳本檔案的路徑和名稱。
當您想要直接在 App Service 上還原應用程式相依性時,這非常有用。 還原 Node、PHP 和 Python 應用程式的套件有助於避免應用程式相依性導致將大型成品從代理程式複製到 Azure App Service 時逾時。
部署文稿的範例如下:
@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、傳統組建、傳統版本 |
執行於 | Agent、DeploymentGroup |
需求 | 沒有 |
功能 | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任何 |
Settable 變數 | 任何 |
代理程式版本 | 2.104.1 或更高版本 |
工作類別 | 部署 |
另請參閱
- 此工作是 GitHub上的開放原始碼
。 歡迎意見反應和貢獻。