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.

Anmerkung

Verwenden Sie AzureFunctionApp@1, um Azure Functions-Apps bereitzustellen.

Aktualisieren Sie Azure App Services unter Windows, Web App unter Linux mit integrierten Images oder Docker-Containern, ASP.NET, .NET Core, PHP, Python oder Node.js basierten Webanwendungen, Funktions-Apps unter Windows oder Linux mit Docker-Containern, mobilen Apps, API-Anwendungen und Webaufträgen mithilfe von Web Deploy/Kudu REST-APIs.

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' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack. 
    #StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer. Startup command. 
  # Post Deployment Action
    #ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Deployment script type. 
    #InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
    #ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Deployment script path. 
  # File Transforms & Variable Substitution Options
    #WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
    #enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
    #JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution. 
  # Application and Configuration Settings
    #AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings. 
    #ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings. 
  # Additional Deployment Options
    #enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
    #DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
    #TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
    #SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file. 
    #RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
    #ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
    #AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
    #RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
# Azure App Service deploy v4
# Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
- task: AzureRmWebAppDeployment@4
  inputs:
    ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
    azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription. 
    #PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
    #PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password. 
    appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'webAppHyperVContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
    WebAppName: # string. Required when ConnectionType = AzureRM. App Service name. 
    #deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
    #ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group. 
    #SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
    #DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer. Registry or Namespace. 
    #DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer. Image. 
    #DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer. Tag. 
    #VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application. 
    #packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack. 
    #RuntimeStackFunction: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack. 
    #StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer. Startup command. 
  # Post Deployment Action
    #ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script type. 
    #InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
    #ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script path. 
  # File Transforms & Variable Substitution Options
    #WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
    #enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
    #JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution. 
  # Application and Configuration Settings
    #AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings. 
    #ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings. 
  # Additional Deployment Options
    #enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
    #DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
    #TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
    #SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file. 
    #RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
    #ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
    #AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
    #RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
# Azure App Service deploy v4
# Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
- task: AzureRmWebAppDeployment@4
  inputs:
    ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
    azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription. 
    #PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
    #PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password. 
    appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
    WebAppName: # string. Required when ConnectionType = AzureRM. App Service name. 
    #deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
    #ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group. 
    #SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
    #DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Registry or Namespace. 
    #DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Image. 
    #DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Tag. 
    #VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application. 
    #packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack. 
    #RuntimeStackFunction: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack. 
    #StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux. Startup command. 
  # Post Deployment Action
    #ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script type. 
    #InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
    #ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script path. 
  # File Transforms & Variable Substitution Options
    #WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
    #enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
    #JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution. 
  # Application and Configuration Settings
    #AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings. 
    #ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings. 
  # Additional Deployment Options
    #enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
    #DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
    #TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
    #SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file. 
    #RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
    #ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
    #AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
    #RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
# Azure App Service deploy v4
# Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
- task: AzureRmWebAppDeployment@4
  inputs:
    ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
    azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription. 
    #PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
    #PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password. 
    appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
    WebAppName: # string. Required when ConnectionType = AzureRM. App Service name. 
    #deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
    #ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group. 
    #SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
    #DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Registry or Namespace. 
    #DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Image. 
    #DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Tag. 
    #VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application. 
    #packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack. 
    #RuntimeStackFunction: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack. 
    #StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux. Startup command. 
  # Post Deployment Action
    #ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script type. 
    #InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
    #ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script path. 
  # File Transforms & Variable Substitution Options
    #WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
    #enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
    #JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution. 
  # Application and Configuration Settings
    #AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings. 
    #ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings. 
  # Additional Deployment Options
    #enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
    #DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
    #TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
    #SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file. 
    #RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
    #ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
    #AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
    #RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
# Azure App Service Deploy v4
# Update Azure App Services on Windows, Web App on Linux with built-in images or Docker containers, ASP.NET, .NET Core, PHP, Python or Node.js based Web applications, Function Apps on Windows or Linux with Docker Containers, Mobile Apps, API applications, Web Jobs using Web Deploy / Kudu REST APIs.
- task: AzureRmWebAppDeployment@4
  inputs:
    ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
    azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription. 
    #PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
    #PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password. 
    appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
    WebAppName: # string. Required when ConnectionType = AzureRM. App Service name. 
    #deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
    #ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group. 
    #SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
    #DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Registry or Namespace. 
    #DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Image. 
    #DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Tag. 
    #VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application. 
    #packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack. 
    #RuntimeStackFunction: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack. 
    #StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Startup command. 
  # Post Deployment Action
    #ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script type. 
    #InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
    #ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script path. 
  # File Transforms & Variable Substitution Options
    #WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
    #enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
    #JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution. 
  # Application and Configuration Settings
    #AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings. 
    #ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings. 
  # Additional Deployment Options
    #enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
    #DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
    #TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
    #SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file. 
    #RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
    #ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
    #AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
    #RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.

Eingänge

ConnectionType - Verbindungstyp
string. Erforderlich. 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.

Geben Sie Publish Profile für die Verwendung von Visual Studio an, die Veröffentlichungsprofileerstellt wurde.


ConnectionType - Verbindungstyp
string. Erforderlich. 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.


azureSubscription - Azure-Abonnement
Eingabealias: 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.

Der Pfad des Veröffentlichungsprofils aus Visual Studio erstellt.


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
Eingabealias: 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
Eingabealias: 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-
Eingabealias: DeployToSlotOrASEFlag. boolean. Wahlfrei. 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. Wenn es sich bei dem Bereitstellungsziel um einen Steckplatz handelt, ist die Bereitstellung standardmäßig der 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 - Ressourcengruppe
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 - Bild-
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 - Bild-
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 - Bild-
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. Wahlfrei. 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. Wahlfrei. 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. Wahlfrei. 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 - virtuelle Anwendung
string. Wahlfrei. 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 - virtuelle Anwendung
string. Wahlfrei. 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-
Eingabealias: 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.

Variablen sind Build und Release. werden von Wildcards unterstützt.

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


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

Geben Sie das Framework und die Version an.


RuntimeStackFunction - Runtime Stack
string. Wahlfrei. 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. Wahlfrei. 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 - Startbefehl
string. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer.

Geben Sie den Startbefehl an. Zum Beispiel:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Startbefehl
string. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer.

Geben Sie den Startbefehl an. Zum Beispiel:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Startbefehl
string. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

Geben Sie den Startbefehl an. Zum Beispiel:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Startbefehl
string. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

Geben Sie den Startbefehl an. Beispiel: dotnet rundotnet filename.dll.


StartupCommand - Startbefehl
string. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Geben Sie den Startbefehl an.


ScriptType - Bereitstellungsskripttyp
string. Wahlfrei. 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. Wahlfrei. 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 - Inlineskript-
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 - Inlineskript-
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. Wahlfrei. 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. For example, for node.js applications, web.config will have a Startup file and iis_node module values. 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. Wahlfrei. 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. For example, for node.js applications, web.config will have a Startup file and iis_node module values. Dieses Bearbeitungsfeature ist nur für die generierte web.configvorgesehen. Erfahren Sie mehr über Azure App Service Deployment.


AppSettings - App-Einstellungen
string. Wahlfrei. 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 - Konfigurationseinstellungen
string. Wahlfrei. 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
Eingabealias: UseWebDeploy. boolean. Wahlfrei. 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
Eingabealias: UseWebDeploy. boolean. Wahlfrei. 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 - Bereitstellungsmethode
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 - Bereitstellungsmethode
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. Wahlfrei. 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. Wahlfrei. 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-Datei
string. Wahlfrei. 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-Datei
string. Wahlfrei. 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. Wahlfrei. 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. Wahlfrei. 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. Wahlfrei. 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. Wahlfrei. 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 - Zusätzliche Argumente
string. Wahlfrei. 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 - Zusätzliche Argumente
string. Wahlfrei. 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. Wahlfrei. 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. Wahlfrei. 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
Eingabealias: XmlTransformation. boolean. Wahlfrei. 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-Transformationen werden nur für die Windows-Plattform unterstützt.


enableXmlTransform - XML-Transformation
Eingabealias: XmlTransformation. boolean. Wahlfrei. 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-Transformationen werden nur für die Windows-Plattform unterstützt.


enableXmlVariableSubstitution - XML-Variablenersetzung
Eingabealias: XmlVariableSubstitution. boolean. Wahlfrei. 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
Eingabealias: XmlVariableSubstitution. boolean. Wahlfrei. 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. Wahlfrei. 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. Wahlfrei. 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.

Ausgabevariablen

Mit dieser Aufgabe werden die folgenden Ausgabevariablendefiniert, die Sie in nachgeschalteten Schritten, Aufträgen und Phasen verwenden können.

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

Bemerkungen

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.

Die Aufgabe funktioniert für ASP.NET, ASP.NET Core, PHP, Java, Python, Gound Node.js basierte Webanwendungen.

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. Die App Service-Instanz kann über das Azure-Portal erstellt und dort konfiguriert werden. Alternativ kann die Azure PowerShell-Aufgabe verwendet werden, um Azure PowerShell-Skripts zum Bereitstellen und Konfigurieren der Web App auszuführen.

  • Azure-Abonnement. 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.

Verwendungshinweise

  • 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.

Bereitstellungsmethoden

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 Pakettyp Deployment-Methode
WebApp unter Linux oder Funktions-App unter Linux Ordner/Zip/Jar
Krieg
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) kann verwendet werden, um eine Web App unter Windows oder eine Funktions-App mit einem Windows-Agent im Azure App Service bereitzustellen. 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.

Containerregistrierung

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

Erwartet ein .zip Bereitstellungspaket und stellt den Dateiinhalt im ordner "wwwroot" des App-Diensts oder der Funktions-App in Azure bereit. Mit dieser Option werden alle vorhandenen Inhalte im ordner wwwroot überschrieben. Weitere Informationen finden Sie unter Zip-Bereitstellung für Azure Functions.

Ausführen von Paketen

Erwartet das gleiche Bereitstellungspaket wie zip Deploy. Anstatt jedoch Dateien im ordner wwwroot bereitzustellen, wird das gesamte Paket von der Funktionslaufzeit und dateien im ordner wwwroot schreibgeschützt. Weitere Informationen finden Sie unter Ausführen Ihrer Azure-Funktionen aus einer Paketdatei.

War Deploy

Erwartet ein WAR-Bereitstellungspaket und stellt den Dateiinhalt im ordner wwwroot oder Webapps Ordner des App-Diensts in Azure bereit.

Fehlerbehebung

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.
  • Ihr Agent wird mit einer älteren Version von msdeploy.exe ausgeführt (z. B. bei Verwendung des windows-2019 gehosteten Agentimages)
  • 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. Wenn Sie gehostete Agents verwenden, wechseln Sie von windows-2019- zu windows-2022- (oder windows-latest). Wenn Sie selbst gehostete Agents verwenden, installieren Sie Visual Studio 2022 auf dem Agent, um eine neuere Version von msdeploy.exezu erhalten.
  2. Wenn Sie von einem älteren Agentimage abhängig sind und den Agent für Ihre Pipeline nicht aktualisieren können, sollten Sie den Auftrag aufteilen, sodass die Bereitstellungsaufgabe von Azure App Service auf windows-2022 (oder windows-latest) ausgeführt wird.
  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-Fehler

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 Fehlercodes

Wenn ein 5-xx--Fehler angezeigt wird, den Status Ihres Azure-Dienstsüberprüfen.

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. Ändern Sie in der Aufgabe "Projektmappe erstellen" die MSBuild-Argumente in /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.

Anmerkung

Dieser Abschnitt ist veraltet und wurde durch die Aufgabe Dateitransformation ersetzt.

ERROR_FILE_IN_USE

Bei der Bereitstellung von .NET-Apps in Web App unter Windows schlägt die Bereitstellung möglicherweise mit Fehlercode ERROR_FILE_IN_USEfehl. 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.

Häufig gestellte Fragen

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.:

Anmerkung

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?

Wenn Sie Application Insights konfiguriert haben und Remove additional files at destinationaktiviert haben, müssen Sie auch Exclude files from the App_Data folderaktivieren, wenn Sie Remove additional files at destinationin einem App-Dienst bereitstellen. 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.

Beispiele

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'
            deployToSlotOrASE: true
            ResourceGroupName: 'rgPartsUnlimited'
            SlotName: 'Dev'
            packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip'

  - stage: DeployStagingStage
    displayName: 'Deploy App to Staging Slot'
    dependsOn: DeployDevStage
    jobs:
      - job:  DeployApp
        displayName: 'Deploy App'
        steps:
        - task: DownloadPipelineArtifact@2
          inputs:
            buildType: 'current'
            artifactName: 'drop'
            targetPath: '$(System.DefaultWorkingDirectory)'
        - task: AzureRmWebAppDeployment@4
          inputs:
            appType: webApp
            ConnectionType: AzureRM            
            ConnectedServiceName: 'Fabrikam Azure Subscription - PartsUnlimited'
            ResourceGroupName: 'rgPartsUnlimited'
            WebAppName: 'partsunlimited'
            Package: '$(System.DefaultWorkingDirectory)/**/*.zip'
            deployToSlotOrASE: true
            SlotName: 'staging'

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
)

Anforderungen

Anforderung Beschreibung
Pipelinetypen YAML, Classic Build, Classic Release
Läuft auf Agent, DeploymentGroup
Anforderungen Nichts
Funktionen Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag.
Befehlseinschränkungen Jegliche
Settable-Variablen Jegliche
Agentversion 2.104.1 oder höher
Vorgangskategorie Aufstellen

Siehe auch

  • Diese Aufgabe ist Open Source auf GitHub. Feedback und Beiträge sind willkommen.