Freigeben über


AzureRmWebAppDeployment@4 – Azure App Service v4-Aufgabe bereitstellen

Verwenden Sie diese Aufgabe, um eine Web-, Mobile- oder API-App mit Docker, Java, .NET, .NET Core, Node.js, PHP, Python oder Ruby in Azure App Service bereitzustellen.

Note

Use AzureFunctionApp@2 to deploy Azure Functions apps.

Syntax

# 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' | 'NODE|20' | 'NODE|22' | '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 != 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.

Inputs

ConnectionType - Connection type
string. Required. Zulässige Werte: AzureRM (Azure Resource Manager), PublishProfile (Publish Profile). Standardwert: AzureRM.

Geben Sie den Dienstverbindungstyp an, der zum Bereitstellen der Web App verwendet werden soll.

Specify Publish Profile for using Visual Studio created Publish profiles.


azureSubscription - Azure subscription
Input alias: ConnectedServiceName. string. Erforderlich, wenn ConnectionType = AzureRM.

Geben Sie das Azure Resource Manager-Abonnement für die Bereitstellung an.


PublishProfilePath - Veröffentlichungsprofilpfad
string. Erforderlich, wenn ConnectionType = PublishProfile. Standardwert: $(System.DefaultWorkingDirectory)/**/*.pubxml.

The path of the publish profile created from Visual Studio.


PublishProfilePassword - Profilkennwort veröffentlichen
string. Erforderlich, wenn ConnectionType = PublishProfile.

Es wird empfohlen, ein Kennwort in einer geheimen Variablen zu speichern und diese Variable hier z. B. $(Password)zu verwenden.


appType - App Service-Typ
Input alias: WebAppKind. string. Erforderlich, wenn ConnectionType = AzureRM. Zulässige Werte: webApp (Web App unter Windows), webAppLinux (Web App unter Linux), webAppContainer (Web App für Container (Linux)), webAppHyperVContainer (Web App für Container (Windows)), functionApp (Funktions-App unter Windows (nicht empfohlen, Verwenden von Azure Functions Task)), functionAppLinux (Funktions-App unter Linux (nicht empfohlen, Azure-Funktionen-Aufgabe verwenden)), functionAppContainer (Funktions-App für Container (Linux) (nicht empfohlen, Azure-Funktionen für Containeraufgabe verwenden)) apiApp (API-App), mobileApp (Mobile App). Standardwert: webApp.

Wählen Sie unter Web App unter Windows, Web App unter Linux, Web App für Container, Funktions-App, Funktions-App unter Linux, Funktions-App für Container und mobile Apps aus.


appType - App Service-Typ
Input alias: WebAppKind. string. Erforderlich, wenn ConnectionType = AzureRM. Zulässige Werte: webApp (Web App unter Windows), webAppLinux (Web App unter Linux), webAppContainer (Web App für Container (Linux)), functionApp (Funktions-App unter Windows), functionAppLinux (Funktions-App unter Linux), functionAppContainer (Funktions-App für Container (Linux)), apiApp (API-App), mobileApp (Mobile App). Standardwert: webApp.

Wählen Sie unter Web App unter Windows, Web App unter Linux, Web App für Container, Funktions-App, Funktions-App unter Linux, Funktions-App für Container und mobile Apps aus.


WebAppName - App Service-Name
string. Erforderlich, wenn ConnectionType = AzureRM.

Geben Sie den Namen eines vorhandenen Azure App Service an. App-Dienste, die auf dem ausgewählten App-Typ basieren, werden nur bei Verwendung des Aufgaben-Assistenten aufgelistet.


deployToSlotOrASE - Bereitstellen im Slot- oder App Service Environment-
Input alias: DeployToSlotOrASEFlag. boolean. Optional. Wird verwendet, wenn ConnectionType = AzureRM && WebAppKind != "". Standardwert: false.

Geben Sie die Option für die Bereitstellung an einem vorhandenen Bereitstellungsplatz oder in einer Azure App Service-Umgebung an. Für beide Ziele erfordert der Vorgang einen Ressourcengruppennamen. If the deployment target is a slot, by default the deployment is to the Production slot. Jeder andere vorhandene Slotname kann bereitgestellt werden. Wenn es sich bei dem Bereitstellungsziel um eine Azure App Service-Umgebung handelt, lassen Sie den Slotnamen als Production und geben Sie nur den Namen der Ressourcengruppe an.


ResourceGroupName - Resource group
string. Erforderlich, wenn DeployToSlotOrASEFlag = true.

Der Ressourcengruppenname ist erforderlich, wenn das Bereitstellungsziel entweder ein Bereitstellungsplatz oder eine App Service-Umgebung ist.

Geben Sie die Azure-Ressourcengruppe an, die den oben angegebenen Azure App Service enthält.


SlotName - Slot
string. Erforderlich, wenn DeployToSlotOrASEFlag = true. Standardwert: production.

Geben Sie einen anderen Steckplatz als den Produktionsplatz an.


DockerNamespace - Registrierungs- oder Namespace-
string. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

Ein global eindeutiger Domänenname auf oberster Ebene für Ihre spezifische Registrierung oder Ihren Namespace. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}. Beispiel: myregistry.azurecr.io/nginx:latest.


DockerNamespace - Registrierungs- oder Namespace-
string. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

Ein global eindeutiger Domänenname auf oberster Ebene für Ihre spezifische Registrierung oder Ihren Namespace. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}. Beispiel: myregistry.azurecr.io/nginx:latest.


DockerNamespace - Registrierungs- oder Namespace-
string. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Ein global eindeutiger Domänenname auf oberster Ebene für Ihre spezifische Registrierung oder Ihren Namespace. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}. Beispiel: myregistry.azurecr.io/nginx:latest.


DockerRepository - Image
string. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

Der Name des Repositorys, in dem die Containerimages gespeichert sind. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}. Beispiel: myregistry.azurecr.io/nginx:latest.


DockerRepository - Image
string. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

Der Name des Repositorys, in dem die Containerimages gespeichert sind. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}. Beispiel: myregistry.azurecr.io/nginx:latest.


DockerRepository - Image
string. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Der Name des Repositorys, in dem die Containerimages gespeichert sind. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}. Beispiel: myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Optional. Wird verwendet, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

Tags sind der Mechanismus, mit dem Registrierungen Versionsinformationen auf Docker-Images angewendet werden. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}. Beispiel: myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Optional. Wird verwendet, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

Tags sind der Mechanismus, mit dem Registrierungen Versionsinformationen auf Docker-Images angewendet werden. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}. Beispiel: myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Optional. Wird verwendet, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Tags sind der Mechanismus, mit dem Registrierungen Versionsinformationen auf Docker-Images angewendet werden. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}. Beispiel: myregistry.azurecr.io/nginx:latest.


VirtualApplication - Virtual application
string. Optional. Wird verwendet, wenn WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "".

Geben Sie den Namen der virtuellen Anwendung an, die im Azure-Portal konfiguriert wurde. Diese Option ist für Bereitstellungen im Websitestamm nicht erforderlich. Die virtuelle Anwendung muss vor der Bereitstellung des Webprojekts konfiguriert worden sein.


VirtualApplication - Virtual application
string. Optional. Wird verwendet, wenn WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "".

Geben Sie den Namen der virtuellen Anwendung an, die im Azure-Portal konfiguriert wurde. Diese Option ist für Bereitstellungen im Websitestamm nicht erforderlich. Die virtuelle Anwendung muss vor der Bereitstellung des Webprojekts konfiguriert worden sein.


packageForLinux - Paket- oder Ordner-
Input alias: Package. string. Erforderlich, wenn ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Standardwert: $(System.DefaultWorkingDirectory)/**/*.zip.

Der Dateipfad zum Paket oder zu einem Ordner mit App-Dienstinhalten, die von MSBuild oder einer komprimierten ZIP- oder War-Datei generiert werden.

Variables are Build and Release. Wildcards are supported.

Beispiel: $(System.DefaultWorkingDirectory)/\*\*/\*.zip oder $(System.DefaultWorkingDirectory)/\*\*/\*.war.


RuntimeStack - Runtime Stack
string. Optional. Wird verwendet, wenn WebAppKind = webAppLinux.

Geben Sie das Framework und die Version an.


RuntimeStackFunction - Runtime Stack
string. Optional. Wird verwendet, wenn WebAppKind = functionAppLinux. Zulässige Werte: 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|10 (functionapp v2/v3)), NODE|12 (NODE|12 (functionapp v3)), NODE|14 (NODE|14 (functionapp v3)), NODE|20 (NODE|20 (functionapp v4)), NODE|22 (NODE|22 (functionapp v4)), 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)).

Geben Sie das Framework und die Version an. Informationen zu den Azure Functions-Laufzeitversionen finden Sie in der Übersicht für unterstützte Laufzeitversionen. Alte Werte wie DOCKER|microsoft/azure-functions-* sind veraltet. Verwenden Sie die neuen Werte aus der Dropdownliste.


RuntimeStackFunction - Runtime Stack
string. Optional. Wird verwendet, wenn WebAppKind = functionAppLinux. Zulässige Werte: 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|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)).

Geben Sie das Framework und die Version an. Informationen zu den Azure Functions-Laufzeitversionen finden Sie in der Übersicht für unterstützte Laufzeitversionen. Alte Werte wie DOCKER|microsoft/azure-functions-* sind veraltet. Verwenden Sie die neuen Werte aus der Dropdownliste.


RuntimeStackFunction - Runtime Stack
string. Optional. Wird verwendet, wenn WebAppKind = functionAppLinux. Zulässige Werte: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET), DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

Geben Sie das Framework und die Version an.


StartupCommand - Startup command
string. Optional. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer.

Geben Sie den Startbefehl an. For example:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Startup command
string. Optional. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer.

Geben Sie den Startbefehl an. For example:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Startup command
string. Optional. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

Geben Sie den Startbefehl an. For example:

dotnet exec filename.dll

dotnet filename.dll.


ScriptType - Bereitstellungsskripttyp
string. Optional. Wird verwendet, wenn ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Zulässige Werte: Inline Script, File Path (Skriptdateipfad).

Passt die Bereitstellung an, indem ein Skript bereitgestellt wird, das nach erfolgreicher Bereitstellung auf dem Azure App Service ausgeführt wird. Wählen Sie inlinebereitstellungsskript oder den Pfad und Namen einer Skriptdatei aus. Erfahren Sie mehr über Azure App Service Deployment.


ScriptType - Bereitstellungsskripttyp
string. Optional. Wird verwendet, wenn ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Zulässige Werte: Inline Script, File Path (Skriptdateipfad).

Passt die Bereitstellung an, indem ein Skript bereitgestellt wird, das nach erfolgreicher Bereitstellung auf dem Azure App Service ausgeführt wird. Wählen Sie inlinebereitstellungsskript oder den Pfad und Namen einer Skriptdatei aus. Erfahren Sie mehr über Azure App Service Deployment.


InlineScript - Inline Script
string. Erforderlich, wenn ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Standardwert: :: You can provide your deployment commands here. One command per line..

Das auszuführende Skript. Hier können Sie Ihre Bereitstellungsbefehle , einen Befehl pro Zeile, bereitstellen. Sehen Sie sich das folgende Beispiel an.


InlineScript - Inline Script
string. Erforderlich, wenn ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Standardwert: :: You can provide your deployment commands here. One command per line..

Das auszuführende Skript. Hier können Sie Ihre Bereitstellungsbefehle , einen Befehl pro Zeile, bereitstellen. Sehen Sie sich das folgende Beispiel an.


ScriptPath - Pfad des Bereitstellungsskripts
string. Erforderlich, wenn ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer.

Der Pfad und der Name des auszuführenden Skripts.


ScriptPath - Pfad des Bereitstellungsskripts
string. Erforderlich, wenn ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer.

Der Pfad und der Name des auszuführenden Skripts.


WebConfigParameters - Generieren web.config Parameter für Python, Node.js, Go- und Java-Apps
string. Optional. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Ein Standard-Web.config wird generiert und in Azure App Service bereitgestellt, wenn die Anwendung nicht über eine verfügt. Die Werte in web.config können bearbeitet und je nach Anwendungsframework variieren. Für node.js Anwendungen web.config verfügen Sie z. B. über eine Startdatei und iis_node Modulwerte. Dieses Bearbeitungsfeature ist nur für die generierte web.configvorgesehen. Erfahren Sie mehr über Azure App Service Deployment.


WebConfigParameters - Generieren web.config Parameter für Python, Node.js, Go- und Java-Apps
string. Optional. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Ein Standard-Web.config wird generiert und in Azure App Service bereitgestellt, wenn die Anwendung nicht über eine verfügt. Die Werte in web.config können bearbeitet und je nach Anwendungsframework variieren. Für node.js Anwendungen web.config verfügen Sie z. B. über eine Startdatei und iis_node Modulwerte. Dieses Bearbeitungsfeature ist nur für die generierte web.configvorgesehen. Erfahren Sie mehr über Azure App Service Deployment.


AppSettings - App settings
string. Optional. Wird verwendet, wenn ConnectionType = AzureRM.

Bearbeitet Web App-Anwendungseinstellungen mithilfe der Syntax -key value. Werte, die Leerzeichen enthalten, müssen in doppelte Anführungszeichen eingeschlossen werden. Beispiele: -Port 5000 -RequestTimeout 5000 und -WEBSITE_TIME_ZONE "Eastern Standard Time". Um zwei oder mehr Schlüsselwerte bereitzustellen, müssen die Schlüsselwerte durch ein Leerzeichen getrennt werden. Beispiel: -key1 "Value1" -Key2 "Value2".


ConfigurationSettings - Configuration settings
string. Optional. Wird verwendet, wenn ConnectionType = AzureRM.

Bearbeitet Web App-Konfigurationseinstellungen mithilfe der Syntax -key value. Werte, die Leerzeichen enthalten, müssen in doppelte Anführungszeichen eingeschlossen werden. Beispiel: -phpVersion 5.6 -linuxFxVersion node|6.11.


enableCustomDeployment - Select-Bereitstellungsmethode
Input alias: UseWebDeploy. boolean. Optional. Wird verwendet, wenn ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Standardwert: false.

Wenn das Kontrollkästchen deaktiviert oder falsch ist, erkennt die Aufgabe automatisch die beste Bereitstellungsmethode basierend auf dem App-Typ, paketformat und anderen Parametern. Aktivieren Sie diese Option im Aufgaben-Assistenten, um die unterstützten Bereitstellungsmethoden anzuzeigen, und wählen Sie eine für die Bereitstellung Ihrer App aus.


enableCustomDeployment - Select-Bereitstellungsmethode
Input alias: UseWebDeploy. boolean. Optional. Wird verwendet, wenn ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Standardwert: false.

Wenn das Kontrollkästchen deaktiviert oder falsch ist, erkennt die Aufgabe automatisch die beste Bereitstellungsmethode basierend auf dem App-Typ, paketformat und anderen Parametern. Aktivieren Sie diese Option im Aufgaben-Assistenten, um die unterstützten Bereitstellungsmethoden anzuzeigen, und wählen Sie eine für die Bereitstellung Ihrer App aus.


DeploymentType - Deployment method
string. Erforderlich, wenn UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Zulässige Werte: webDeploy (Web Deploy), zipDeploy (Zip Deploy), runFromZip (Run From Package). Standardwert: webDeploy.

Bestimmt die Bereitstellungsmethode für die App.


DeploymentType - Deployment method
string. Erforderlich, wenn UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Zulässige Werte: webDeploy (Web Deploy), zipDeploy (Zip Deploy), runFromZip (Run From Package). Standardwert: webDeploy.

Bestimmt die Bereitstellungsmethode für die App.


TakeAppOfflineFlag - App offline
boolean. Optional. Wird verwendet, wenn UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Standardwert: true.

Geben Sie diese Option an, um den Azure App Service offline zu schalten, indem Sie eine app_offline.htm Datei im Stammverzeichnis platzieren, bevor der Synchronisierungsvorgang beginnt. Die Datei wird entfernt, nachdem die Synchronisierung erfolgreich abgeschlossen wurde.


TakeAppOfflineFlag - App offline
boolean. Optional. Wird verwendet, wenn UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Standardwert: true.

Geben Sie diese Option an, um den Azure App Service offline zu schalten, indem Sie eine app_offline.htm Datei im Stammverzeichnis platzieren, bevor der Synchronisierungsvorgang beginnt. Die Datei wird entfernt, nachdem die Synchronisierung erfolgreich abgeschlossen wurde.


SetParametersFile - SetParameters file
string. Optional. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar.

Der Speicherort der zu verwendenden SetParameters.xml Datei.


SetParametersFile - SetParameters file
string. Optional. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar.

Der Speicherort der zu verwendenden SetParameters.xml Datei.


RemoveAdditionalFilesFlag - Entfernen zusätzlicher Dateien am Ziel-
boolean. Optional. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Standardwert: false.

Geben Sie 'true' an, um Dateien im Azure App Service zu löschen, die keine übereinstimmenden Dateien im App Service-Paket oder -Ordner enthalten. Dadurch werden auch alle Dateien entfernt, die mit jeder Erweiterung verbunden sind, die auf diesem Azure App Service installiert ist. Um dies zu verhindern, aktivieren Sie das Kontrollkästchen Exclude files from App_Data folder.


RemoveAdditionalFilesFlag - Entfernen zusätzlicher Dateien am Ziel-
boolean. Optional. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Standardwert: false.

Geben Sie 'true' an, um Dateien im Azure App Service zu löschen, die keine übereinstimmenden Dateien im App Service-Paket oder -Ordner enthalten. Dadurch werden auch alle Dateien entfernt, die mit jeder Erweiterung verbunden sind, die auf diesem Azure App Service installiert ist. Um dies zu verhindern, aktivieren Sie das Kontrollkästchen Exclude files from App_Data folder.


ExcludeFilesFromAppDataFlag - Dateien aus dem App_Data Ordner ausschließen
boolean. Optional. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Standardwert: true.

Geben Sie die Option an, um zu verhindern, dass Dateien im App_Data Ordner aus dem Azure App Service bereitgestellt/gelöscht werden.


ExcludeFilesFromAppDataFlag - Dateien aus dem App_Data Ordner ausschließen
boolean. Optional. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Standardwert: true.

Geben Sie die Option an, um zu verhindern, dass Dateien im App_Data Ordner aus dem Azure App Service bereitgestellt/gelöscht werden.


AdditionalArguments - Additional arguments
string. Optional. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Standardwert: -retryAttempts:6 -retryInterval:10000.

Zusätzliche Web Deploy-Argumente nach der Syntax -key:value. Diese werden beim Bereitstellen des Azure App Service angewendet. Beispiele: -disableLink:AppPoolExtension -disableLink:ContentExtension. Erfahren Sie mehr über Web Deploy Operation Settings.


AdditionalArguments - Additional arguments
string. Optional. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Standardwert: -retryAttempts:6 -retryInterval:10000.

Zusätzliche Web Deploy-Argumente nach der Syntax -key:value. Diese werden beim Bereitstellen des Azure App Service angewendet. Beispiele: -disableLink:AppPoolExtension -disableLink:ContentExtension. Erfahren Sie mehr über Web Deploy Operation Settings.


RenameFilesFlag - Gesperrte Dateien umbenennen
boolean. Optional. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Standardwert: true.

Geben Sie den Standardwert an, um das msdeploy-Flag MSDEPLOY_RENAME_LOCKED_FILES=1 in den Azure App Service-Anwendungseinstellungen zu aktivieren. Wenn diese Option festgelegt ist, kann msdeploy Dateien umbenennen, die während der App-Bereitstellung gesperrt sind.


RenameFilesFlag - Gesperrte Dateien umbenennen
boolean. Optional. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Standardwert: true.

Geben Sie den Standardwert an, um das msdeploy-Flag MSDEPLOY_RENAME_LOCKED_FILES=1 in den Azure App Service-Anwendungseinstellungen zu aktivieren. Wenn diese Option festgelegt ist, kann msdeploy Dateien umbenennen, die während der App-Bereitstellung gesperrt sind.


enableXmlTransform - XML transformation
Input alias: XmlTransformation. boolean. Optional. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Standardwert: false.

Die Konfigurationstransformationen werden für *.Release.config und *.<EnvironmentName>.config für die *.config fileausgeführt. Konfigurationstransformationen werden vor der Variablenersetzung ausgeführt. XML transformations are supported only for the Windows platform.


enableXmlTransform - XML transformation
Input alias: XmlTransformation. boolean. Optional. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Standardwert: false.

Die Konfigurationstransformationen werden für *.Release.config und *.<EnvironmentName>.config für die *.config fileausgeführt. Konfigurationstransformationen werden vor der Variablenersetzung ausgeführt. XML transformations are supported only for the Windows platform.


enableXmlVariableSubstitution - XML-Variablenersetzung
Input alias: XmlVariableSubstitution. boolean. Optional. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Standardwert: false.

Variablen, die in der Build- oder Releasepipeline definiert sind, werden mit den Schlüssel- oder Namenseinträgen in den Abschnitten configSections, appSettings, applicationSettingsund connectionStrings jeder Konfigurationsdatei und parameters.xml Datei abgeglichen. Die Variablenersetzung wird nach Konfigurationstransformationen ausgeführt.

Wenn die gleichen Variablen in der Releasepipeline und in der Phase definiert sind, werden die Phasenvariablen die Releasepipelinevariablen ersetzt. Weitere Informationen zu [XML-Variablenersetzung]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


enableXmlVariableSubstitution - XML-Variablenersetzung
Input alias: XmlVariableSubstitution. boolean. Optional. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Standardwert: false.

Variablen, die in der Build- oder Releasepipeline definiert sind, werden mit den Schlüssel- oder Namenseinträgen in den Abschnitten configSections, appSettings, applicationSettingsund connectionStrings jeder Konfigurationsdatei und parameters.xml Datei abgeglichen. Die Variablenersetzung wird nach Konfigurationstransformationen ausgeführt.

Wenn die gleichen Variablen in der Releasepipeline und in der Phase definiert sind, werden die Phasenvariablen die Releasepipelinevariablen ersetzt. Weitere Informationen zu [XML-Variablenersetzung]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


JSONFiles - JSON-Variablenersetzung
string. Optional. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Stellt eine newlinetrennte Liste von JSON-Dateien bereit, um die Variablenwerte zu ersetzen. Dateinamen müssen relativ zum Stammordner sein. Wenn Sie JSON-Variablen ersetzen möchten, die geschachtelt oder hierarchisch sind, geben Sie diese mithilfe JSONPath Ausdrücke an. Um beispielsweise den Wert von ConnectionString im folgenden Beispiel zu ersetzen, definieren Sie eine Variable namens Data.DefaultConnection.ConnectionString in der Build- oder Releasepipeline (oder Releasepipelinestufe).

{
  "Data": {
    "DefaultConnection": {
      "ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
    }
  }
}

Eine Variablenersetzung wird nach Konfigurationstransformationen ausgeführt. Hinweis: Build- und Releasepipelinevariablen werden von der Ersetzung ausgeschlossen. Erfahren Sie mehr über JSON-Variablenersetzung.


JSONFiles - JSON-Variablenersetzung
string. Optional. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Stellt eine newlinetrennte Liste von JSON-Dateien bereit, um die Variablenwerte zu ersetzen. Dateinamen müssen relativ zum Stammordner sein. Wenn Sie JSON-Variablen ersetzen möchten, die geschachtelt oder hierarchisch sind, geben Sie diese mithilfe JSONPath Ausdrücke an. Um beispielsweise den Wert von ConnectionString im folgenden Beispiel zu ersetzen, definieren Sie eine Variable namens Data.DefaultConnection.ConnectionString in der Build- oder Releasepipeline (oder Releasepipelinestufe).

{
  "Data": {
    "DefaultConnection": {
      "ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
    }
  }
}

Eine Variablenersetzung wird nach Konfigurationstransformationen ausgeführt. Hinweis: Build- und Releasepipelinevariablen werden von der Ersetzung ausgeschlossen. Erfahren Sie mehr über JSON-Variablenersetzung.


Aufgabensteuerungsoptionen

Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.

Output variables

This task defines the following output variables, which you can consume in downstream steps, jobs, and stages.

AppServiceApplicationUrl
Anwendungs-URL des ausgewählten App-Diensts.

Remarks

Verwenden Sie diese Aufgabe, um sie in einem Bereich von App Services in Azure bereitzustellen. Die Aufgabe funktioniert auf plattformübergreifenden Agents unter Windows, Linux oder Mac und verwendet verschiedene zugrunde liegenden Bereitstellungstechnologien.

The task works for ASP.NET, ASP.NET Core, PHP, Java, Python, Go, and Node.js based web applications.

Die Aufgabe kann zum Bereitstellen in einem Bereich von Azure App Services verwendet werden, z. B.:

Voraussetzungen für den Vorgang

Die folgenden Voraussetzungen müssen in den Zielcomputern eingerichtet werden, damit die Aufgabe ordnungsgemäß funktioniert.

  • App Service-Instanz. Die Aufgabe wird verwendet, um ein Web App-Projekt oder ein Azure Function-Projekt in einer vorhandenen Azure App Service-Instanz bereitzustellen, die vorhanden sein muss, bevor die Aufgabe ausgeführt wird. The App Service instance can be created from the Azure portal and configured there. Alternativ kann die Azure PowerShell-Aufgabe verwendet werden, um Azure PowerShell-Skripts zum Bereitstellen und Konfigurieren der Web App auszuführen.

  • Azure Subscription. Für die Bereitstellung in Azure muss ein Azure-Abonnement mit der Pipeline-verknüpft sein. Die Aufgabe funktioniert nicht mit der Azure Classic-Dienstverbindung, und sie listet diese Verbindungen nicht in den Einstellungen der Aufgabe auf.

Usage notes

  • Der Vorgang funktioniert nur mit den Azure Resource Manager-APIs.
  • Um SSL-Fehler zu ignorieren, definieren Sie eine Variable namens VSTS_ARM_REST_IGNORE_SSL_ERRORS mit dem Wert true in der Pipeline. Wenn Sie eine Bereitstellung auf einem für den automatischen Swap konfigurierten Steckplatz vornehmen, schlägt der Swap fehl, es sei denn, Sie legen SCM_SKIP_SSL_VALIDATION oder SCM_SKIP_ASE_SSL_VALIDATION in den Konfigurationseinstellungen für App-Dienste auf 1 fest.
  • Vermeiden Sie bei .NET-Apps, die auf Web App unter Windows abzielen, einen Bereitstellungsfehler mit dem Fehler ERROR_FILE_IN_USE, indem Sie sicherstellen, dass gesperrte Dateien umbenennen und Einstellungen für "App offline" aktiviert sind. Verwenden Sie für die Bereitstellung von Ausfallzeiten die Option "Steckplatztausch".
  • Stellen Sie beim Bereitstellen in einem App-Dienst, der Application Insights konfiguriert ist, und Sie Entfernen zusätzlicher Dateien am Zielaktiviert haben, stellen Sie sicher, dass Sie auch Dateien aus dem ordner App_Data ausschließen, um die Erweiterung "Application Insights" in einem sicheren Zustand zu verwalten. Dies ist erforderlich, da der fortlaufende Webauftrag "Application Insights" im ordner "App_Data" installiert ist.

Deployment methods

In dieser Aufgabe stehen mehrere Bereitstellungsmethoden zur Verfügung. Web Deploy (msdeploy.exe) ist die Standardeinstellung. Um die Bereitstellungsoption zu ändern, erweitern Sie zusätzliche Bereitstellungsoptionen, und aktivieren Sie Auswählen der Bereitstellungsmethode, um aus zusätzlichen paketbasierten Bereitstellungsoptionen auszuwählen.

Basierend auf dem Typ von Azure App Service und Agent wählt die Aufgabe eine geeignete Bereitstellungstechnologie aus. Die verschiedenen Bereitstellungstechnologien, die von der Aufgabe verwendet werden, sind:

Standardmäßig versucht die Aufgabe, die entsprechende Bereitstellungstechnologie basierend auf dem Eingabepakettyp, dem App-Diensttyp und dem Agent-Betriebssystem auszuwählen.

Logik für die automatische Erkennung

Für Windows-basierte Agents.

App-Diensttyp Package type Deployment Method
WebApp unter Linux oder Funktions-App unter Linux Folder/Zip/jar
War
Zip Deploy
War Deploy
WebApp für Container (Linux) oder Funktions-App für Container (Linux) Aktualisieren der App-Einstellungen NA
WebApp unter Windows, Funktions-App unter Windows, API-App oder mobile App War
Jar
MsBuild-Pakettyp oder Bereitstellung in virtuellen Anwendungen


Ordner/Zip
War Deploy
Zip Deploy
Web Deploy

if postDeploymentScript == true, Zip Deploy
else, Run From Package

Bei Nicht-Windows-Agents (für jeden App Service-Typ) basiert die Aufgabe auf Kudu-REST-APIs für die Bereitstellung der App.

Web Deploy

Web Deploy (msdeploy.exe) can be used to deploy a Web App on Windows or a Function App to the Azure App Service using a Windows agent. Web Deploy ist funktionsreich und bietet Optionen wie:

  • Gesperrte Dateien umbenennen: Benennen Sie alle Dateien um, die noch vom Webserver verwendet werden, indem Sie das Msdeploy-Flag MSDEPLOY\_RENAME\_LOCKED\_FILES=1 in den Azure App Service-Einstellungen aktivieren. Wenn diese Option festgelegt ist, kann msdeploy Dateien umbenennen, die während der App-Bereitstellung gesperrt sind.

  • Entfernen zusätzlicher Dateien am Ziel: Löscht Dateien im Azure App Service, die keine übereinstimmenden Dateien im App Service-Artefaktpaket oder -Ordner bereitgestellt haben.

  • Dateien aus dem ordner App_Data ausschließen: Verhindern von Dateien im Ordner App_Data (im bereitgestellten Artefaktpaket/Ordner) im Azure App Service

  • Zusätzliche Webbereitstellungsargumente: Argumente, die beim Bereitstellen des Azure App Service angewendet werden. Beispiel: -disableLink:AppPoolExtension -disableLink:ContentExtension. Weitere Beispiele für Web Deploy-Vorgangseinstellungen finden Sie unter Web Deploy Operation Settings.

Installieren Sie Web Deploy auf dem Agent von Web Deploy 3.6. Web Deploy 3.5 muss ohne die gebündelte SQL-Unterstützung installiert werden. Beim Installieren von Web Deploy müssen keine benutzerdefinierten Einstellungen ausgewählt werden. Web Deploy wird bei C:/Program Files (x86)/IIS/Microsoft Web Deploy V3installiert.

Kudu-REST-APIs

Kudu-REST-APIs sowohl für Windows- als auch für Linux-Automatisierungs-Agents funktionieren, wenn das Ziel eine Web App unter Windows, Web App unter Linux (integrierte Quelle) oder Funktions-App ist. Die Aufgabe verwendet Kudu, um Dateien in den Azure App-Dienst zu kopieren.

Container Registry

Funktioniert sowohl bei Windows- als auch linux-Automatisierungs-Agents, wenn das Ziel eine Web App für Container ist. Die Aufgabe aktualisiert die App durch Festlegen der entsprechenden Containerregistrierung, des Repositorys, des Imagenamens und der Taginformationen. Sie können die Aufgabe auch verwenden, um einen Startbefehl für das Containerimage zu übergeben.

Zip Deploy

Expects a .zip deployment package and deploys the file contents to the wwwroot folder of the App Service or Function App in Azure. This option overwrites all existing contents in the wwwroot folder. Weitere Informationen finden Sie unter Zip-Bereitstellung für Azure Functions.

Ausführen von Paketen

Erwartet das gleiche Bereitstellungspaket wie zip Deploy. However, instead of deploying files to the wwwroot folder, the entire package is mounted by the Functions runtime and files in the wwwroot folder become read-only. Weitere Informationen finden Sie unter Ausführen Ihrer Azure-Funktionen aus einer Paketdatei.

War Deploy

Expects a .war deployment package and deploys the file content to the wwwroot folder or webapps folder of the App Service in Azure.

Troubleshooting

Ich kann die Webbereitstellung für meinen Azure App Service nicht mithilfe der Microsoft Entra ID-Authentifizierung von meinem Windows-Agent ausführen.

Die Azure App Service-Bereitstellungsaufgabe unterstützt die Verbindung mit Microsoft Azure mit einer ARM-Dienstverbindung mithilfe der Microsoft Entra-ID, es sei denn, die folgenden drei Bedingungen sind vorhanden:

  • Sie verwenden das Web Deploy-Paketformat auf einem Windows-Agent.
  • Your agent is running with an older version of msdeploy.exe (for example when using the windows-2019 hosted agent image)
  • Die Standardauthentifizierung ist für Ihren Azure App Service deaktiviert.

Wenn diese drei Bedingungen vorhanden sind, erhalten Sie eine Fehlermeldung wie 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.

Um dieses Problem zu beheben, können Sie aus den folgenden Optionen wählen, in der Reihenfolge der Voreinstellung.

  1. Aktualisieren Sie das Agentimage. If you are using hosted agents, move from windows-2019 to windows-2022 (or windows-latest). If you are using self-hosted agents, install Visual Studio 2022 on the agent to get a newer version of msdeploy.exe.
  2. If you are dependent on an older agent image and can't update the agent for your pipeline, consider splitting the job so that the Azure App Service deploy task runs on windows-2022 (or windows-latest).
  3. Wenn keine dieser Optionen möglich ist, können Sie standardauthentifizierung für Ihren Azure App Service aktivieren.

Fehler: Zugriffstoken für Azure konnte nicht abgerufen werden. Überprüfen Sie, ob der verwendete Dienstprinzipal gültig und nicht abgelaufen ist.

Die Aufgabe verwendet den Dienstprinzipal in der Dienstverbindung, um sich bei Azure zu authentifizieren. Wenn der Dienstprinzipal abgelaufen ist oder keine Berechtigungen für den App-Dienst besitzt, schlägt die Aufgabe mit diesem Fehler fehl. Überprüfen Sie die Gültigkeit des verwendeten Dienstprinzipals, und überprüfen Sie, ob er in der App-Registrierung vorhanden ist. Weitere Informationen finden Sie unter Verwenden der rollenbasierten Zugriffssteuerung zum Verwalten des Zugriffs auf Ihre Azure-Abonnementressourcen. Dieser Blogbeitrag enthält auch weitere Informationen zur Verwendung der Dienstprinzipalauthentifizierung.

SSL error

Wenn Sie ein Zertifikat in App Service verwenden möchten, muss das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle signiert werden. Wenn Ihre Web-App Fehler bei der Zertifikatüberprüfung anzeigt, verwenden Sie wahrscheinlich ein selbstsigniertes Zertifikat. Legen Sie eine Variable namens VSTS_ARM_REST_IGNORE_SSL_ERRORS auf den Wert true in der Build- oder Releasepipeline fest, um den Fehler zu beheben.

Eine Freigabe hängt lange und schlägt dann fehl.

Dieses Problem könnte das Ergebnis unzureichender Kapazität in Ihrem App Service-Plan sein. Um dieses Problem zu beheben, können Sie die App Service-Instanz skalieren, um den verfügbaren CPU-, RAM- und Festplattenspeicher zu erhöhen, oder versuchen Sie es mit einem anderen App Service-Plan.

5xx error codes

If you're seeing a 5xx error, check the status of your Azure service.

Azure-Funktion funktionierte plötzlich nicht mehr

Azure Functions funktioniert möglicherweise plötzlich nicht mehr, wenn seit der letzten Bereitstellung mehr als ein Jahr vergangen ist. Wenn Sie mit "RunFromPackage" in "deploymentMethod" bereitstellen, wird ein SAS mit einem Ablaufdatum von 1 Jahr generiert und als Wert von "WEBSITE_RUN_FROM_PACKAGE" in der Anwendungskonfiguration festgelegt. Azure Functions verwendet dieses SAS, um auf die Paketdatei für die Funktionsausführung zu verweisen. Wenn die SAS abgelaufen ist, wird die Funktion nicht ausgeführt. Um dieses Problem zu beheben, stellen Sie es erneut bereit, um ein SAS mit einem Ablaufdatum von einem Jahr zu generieren.

Fehler: Kein Paket mit angegebenem Muster gefunden

Überprüfen Sie, ob das in der Aufgabe erwähnte Paket als Artefakt im Build oder einer vorherigen Phase veröffentlicht und in den aktuellen Auftrag heruntergeladen wird.

Fehler: Die Veröffentlichung mithilfe der ZIP-Bereitstellungsoption wird für den MsBuild-Pakettyp nicht unterstützt.

Webpakete, die über die MSBuild-Aufgabe (mit Standardargumenten) erstellt werden, weisen eine geschachtelte Ordnerstruktur auf, die nur von Web Deploy ordnungsgemäß bereitgestellt werden kann. Die Bereitstellungsoption zum Veröffentlichen in ZIP kann nicht verwendet werden, um diese Pakete bereitzustellen. Gehen Sie folgendermaßen vor, um die Verpackungsstruktur zu konvertieren:

  1. In the Build solution task, change the MSBuild Arguments to /p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent":

    Screenshot mit den Buildlösungswerten.

  2. Fügen Sie eine Archivaufgabe hinzu, und ändern Sie die Werte wie folgt:

    1. Ändern Sie Stammordner oder -datei, um in $(System.DefaultWorkingDirectory)\\WebAppContentzu archivieren.

    2. Deaktivieren Sie den Namen des Voreingestellten Stammordners, um Pfade Kontrollkästchen zu archivieren:

      Screenshot mit den Archivwerten.

Die Web-App-Bereitstellung unter Windows ist erfolgreich, die App funktioniert jedoch nicht.

Dies liegt möglicherweise daran, dass web.config in Ihrer App nicht vorhanden ist. Sie können ihrer Quelle entweder eine web.config Datei hinzufügen oder eine datei automatisch generieren, indem Sie die Optionen für Dateitransformationen und Variablenersetzungsoptionen der Aufgabe verwenden.

  • Klicken Sie auf die Aufgabe, und wechseln Sie zu "Generieren web.config Parameter" für Python-, Node.js-, Go- und Java-Apps.

    Screenshot des Dialogfelds

  • Klicken Sie auf die Schaltfläche "Mehr generieren" web.config Parameter für Python, Node.js, Go- und Java-Apps, um die Parameter zu bearbeiten.

    Screenshot der Dropdownliste

  • Wählen Sie ihren Anwendungstyp aus der Dropdownliste aus.

  • Klicken Sie auf "OK". Dadurch werden web.config Parameter aufgefüllt, die zum Generieren web.configerforderlich sind.

Note

This section is deprecated and has been replaced with the File Transform task.

ERROR_FILE_IN_USE

When deploying .NET apps to Web App on Windows, deployment may fail with error code ERROR_FILE_IN_USE. Um den Fehler zu beheben, stellen Sie sicher, dass gesperrte Dateien umbenennen und Optionen für die App offline schalten in der Aufgabe aktiviert sind. Verwenden Sie für Bereitstellungen ohne Ausfallzeiten den Steckplatztausch.

Sie können auch Run From Package-Bereitstellung Methode verwenden, um ressourcensperren zu vermeiden.

Fehler bei der Webbereitstellung

Wenn Sie web deploy verwenden, um Ihre App bereitzustellen, zeigt Web Deploy in einigen Fehlerszenarien einen Fehlercode im Protokoll an. Informationen zur Problembehandlung eines Webbereitstellungsfehlers finden Sie unter Web Deploy-Fehlercodes.

Die Web-App-Bereitstellung in der App Service Environment (ASE) funktioniert nicht.

  • Stellen Sie sicher, dass sich der Azure DevOps-Build-Agent auf demselben VNET befindet (Subnetz kann unterschiedlich sein) wie der interne Lastenausgleich (Internal Load Balancer, ILB) von ASE. Dadurch kann der Agent Code aus Azure DevOps abrufen und auf ASE bereitstellen.
  • Wenn Sie Azure DevOps verwenden, muss der Agent nicht über das Internet zugänglich sein, sondern benötigt nur ausgehenden Zugriff, um eine Verbindung mit Azure DevOps Service herzustellen.
  • Wenn Sie TFS/Azure DevOps Server verwenden, der in einem virtuellen Netzwerk bereitgestellt wird, kann der Agent vollständig isoliert werden.
  • Der Build-Agent muss mit der DNS-Konfiguration der Web App konfiguriert werden, für die er bereitstellen muss. Da die privaten Ressourcen im virtuellen Netzwerk keine Einträge in Azure DNS enthalten, muss dies der Hostdatei auf dem Agentcomputer hinzugefügt werden.
  • Wenn ein selbstsigniertes Zertifikat für die ASE-Konfiguration verwendet wird, muss die Option -allowUntrusted in der Bereitstellungsaufgabe für MSDeploy festgelegt werden. Es wird auch empfohlen, die Variable VSTS_ARM_REST_IGNORE_SSL_ERRORS auf "true" festzulegen. Wenn ein Zertifikat von einer Zertifizierungsstelle für die ASE-Konfiguration verwendet wird, sollte dies nicht erforderlich sein. Wenn Sie eine Bereitstellung auf einem für den automatischen Swap konfigurierten Steckplatz vornehmen, schlägt der Swap fehl, es sei denn, Sie legen SCM_SKIP_SSL_VALIDATION oder SCM_SKIP_ASE_SSL_VALIDATION in den Konfigurationseinstellungen für App-Dienste auf 1 fest.

FAQs

Was ist der Unterschied zwischen den aufgaben AzureWebApp und AzureRmWebAppDeployment?

Die Azure Web App-Aufgabe (AzureWebApp) ist die einfachste Möglichkeit zum Bereitstellen in einer Azure Web App. Standardmäßig erfolgt Ihre Bereitstellung mit der Stammanwendung in der Azure Web App.

Die Azure App Service Deploy-Aufgabe (AzureRmWebAppDeployment) können weitere benutzerdefinierte Szenarien verarbeiten, z. B.:

Note

Dateitransformationen und Variablenersetzung werden auch von der separaten Dateitransformationsaufgabe für die Verwendung in Azure Pipelines unterstützt. Sie können die Dateitransformationsaufgabe verwenden, um Dateitransformationen und Variablenersetzungen auf alle Konfigurations- und Parameterdateien anzuwenden.

Wie soll ich meine Dienstverbindung konfigurieren?

Für diese Aufgabe ist eine Azure Resource Manager-Dienstverbindungerforderlich.

Wie sollte ich die Bereitstellung von Webaufträgen mit Application Insights konfigurieren?

When you're deploying to an App Service, if you have Application Insights configured and you've enabled Remove additional files at destination, you also need to enable Exclude files from the App_Data folder. Durch Aktivieren dieser Option wird die Application Insights-Erweiterung in einem sicheren Zustand beibehalten. Dieser Schritt ist erforderlich, da der fortlaufende WebJob von Application Insights im ordner App_Data installiert ist.

Wie sollte ich meinen Agent konfigurieren, wenn er sich hinter einem Proxy befindet, während ich im App Service bereitstelle?

Wenn Ihr selbst gehosteter Agent einen Webproxy benötigt, können Sie den Agent während der Konfiguration über den Proxy informieren. Auf diese Weise kann Ihr Agent über den Proxy eine Verbindung mit Azure Pipelines oder Azure DevOps Server herstellen. Erfahren Sie mehr über das Ausführen eines selbst gehosteten Agents hinter einem Webproxy.

Examples

Bereitstellen für einen bestimmten App-Typ

Legen Sie zum Bereitstellen auf einen bestimmten App-Typ appType auf einen der folgenden akzeptierten Werte fest: webApp (Web App unter Windows), webAppLinux (Web App unter Linux), webAppContainer (Web App für Container - Linux), functionApp (Funktions-App unter Windows), functionAppLinux (Funktions-App unter Linux), functionAppContainer (Funktions-App für Container - Linux), apiApp (API-App), mobileApp (Mobile App). Wenn nicht erwähnt, wird webApp als Standardwert verwendet.

Um erweiterte Bereitstellungsoptionen zu aktivieren, fügen Sie den Parameter enableCustomDeployment: true hinzu, und fügen Sie bei Bedarf die folgenden Parameter ein.

# deploymentMethod: 'runFromPackage' # supports zipDeploy as well
    # appOffline: boolean    # Not applicable for 'runFromPackage'
    # setParametersFile: string
    # removeAdditionalFilesFlag: boolean
    # additionalArguments: string

Bereitstellen im Azure Web App Linux-Container

Im folgenden YAML-Beispiel wird ein Azure Web App-Container (Linux) bereitgestellt.

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)

Bereitstellen einer Web-App für einen Windows-App-Dienst über Bereitstellungsplätze hinweg

Im folgenden Beispiel wird eine Web-App für einen Windows-App-Dienst über Bereitstellungsplätze hinweg bereitgestellt.

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'
            ResourceGroupName: 'rgPartsUnlimited'
            deployToSlotOrASE: true
            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:
            ConnectionType: 'AzureRM'
            azureSubscription: 'Fabrikam Azure Subscription - PartsUnlimited'
            appType: 'webApp'
            WebAppName: 'partsunlimited'
            ResourceGroupName: 'rgPartsUnlimited'
            deployToSlotOrASE: true
            SlotName: 'staging'
            packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip'

Beispielskript für die Bereitstellung nach der Bereitstellung

Die Aufgabe bietet eine Option zum Anpassen der Bereitstellung durch Bereitstellen eines Skripts, das auf dem Azure App Service ausgeführt wird, nachdem die Artefakte der App erfolgreich in den App-Dienst kopiert wurden. Sie können entweder ein Inlinebereitstellungsskript oder den Pfad und namen einer Skriptdatei in Ihrem Artefaktordner angeben.

Dies ist sehr nützlich, wenn Sie Ihre Anwendungsabhängigkeiten direkt im App-Dienst wiederherstellen möchten. Durch das Wiederherstellen von Paketen für Node-, PHP- und Python-Apps können Timeouts vermieden werden, wenn die Anwendungsabhängigkeit zu einem großen Artefakt führt, das vom Agent in den Azure App Service kopiert wird.

Ein Beispiel für ein Bereitstellungsskript ist:

@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
)

Requirements

Requirement Description
Pipeline types YAML, Classic Build, Classic Release
Runs on Agent, DeploymentGroup
Demands None
Capabilities Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag.
Command restrictions Any
Settable variables Any
Agent version 2.104.1 oder höher
Task category Deploy

See also

  • This task is open source on GitHub. Feedback und Beiträge sind willkommen.