Condividi tramite


AzureRmWebAppDeployment@4 - Attività Distribuzione del servizio app di Azure v4

Usare questa attività per distribuire nel servizio app di Azure un'app Web, per dispositivi mobili o per le API usando Docker, Java, .NET, .NET Core, Node.js, PHP, Python o Ruby.

Note

Use AzureFunctionApp@2 to deploy Azure Functions apps.

Syntax

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

Inputs

ConnectionType - Connection type
string. Required. Valori consentiti: AzureRM (Azure Resource Manager), PublishProfile (profilo di pubblicazione). Valore predefinito: AzureRM.

Specificare il tipo di connessione del servizio da usare per distribuire l'app Web.

Specify Publish Profile for using Visual Studio created Publish profiles.


azureSubscription - Azure subscription
Input alias: ConnectedServiceName. string. Obbligatorio quando ConnectionType = AzureRM.

Specificare la sottoscrizione di Azure Resource Manager per la distribuzione.


PublishProfilePath - percorso del profilo di pubblicazione
string. Obbligatorio quando ConnectionType = PublishProfile. Valore predefinito: $(System.DefaultWorkingDirectory)/**/*.pubxml.

The path of the publish profile created from Visual Studio.


PublishProfilePassword - della password del profilo di pubblicazione
string. Obbligatorio quando ConnectionType = PublishProfile.

È consigliabile archiviare una password in una variabile privata e usare tale variabile, ad esempio $(Password).


appType - tipo di servizio app
Input alias: WebAppKind. string. Obbligatorio quando ConnectionType = AzureRM. Valori consentiti: webApp (App Web in Windows), webAppLinux (App Web in Linux), webAppContainer (App Web per contenitori (Linux)), webAppHyperVContainer (App Web per contenitori (Windows)), functionApp (App per le funzioni in Windows (scelta non consigliata, Usare l'attività Funzioni di Azure)), functionAppLinux (app per le funzioni in Linux (non consigliata, usare l'attività Funzioni di Azure) functionAppContainer (App per le funzioni per contenitori (Linux) (non consigliata, usare Funzioni di Azure per l'attività contenitore)), apiApp (app per le API), mobileApp (app per dispositivi mobili). Valore predefinito: webApp.

Scegliere tra App Web in Windows, App Web in Linux, App Web per contenitori, App per le funzioni, App per le funzioni in Linux, App per le funzioni per contenitori e app per dispositivi mobili.


appType - tipo di servizio app
Input alias: WebAppKind. string. Obbligatorio quando ConnectionType = AzureRM. Valori consentiti: webApp (app Web in Windows), webAppLinux (app Web in Linux), webAppContainer (app Web per contenitori (Linux)), functionApp (app per le funzioni in Windows), functionAppLinux (app per le funzioni in Linux), functionAppContainer (app per le funzioni per contenitori (Linux)), apiApp (app per le API), mobileApp (app per dispositivi mobili). Valore predefinito: webApp.

Scegliere tra App Web in Windows, App Web in Linux, App Web per contenitori, App per le funzioni, App per le funzioni in Linux, App per le funzioni per contenitori e app per dispositivi mobili.


WebAppName - nome del servizio app
string. Obbligatorio quando ConnectionType = AzureRM.

Specificare il nome di un servizio app di Azure esistente. I servizi app basati sul tipo di app selezionato verranno elencati solo quando si usa l'assistente attività.


deployToSlotOrASE - distribuire nell'ambiente del servizio app o slot
Input alias: DeployToSlotOrASEFlag. boolean. Optional. Usare quando ConnectionType = AzureRM && WebAppKind != "". Valore predefinito: false.

Specificare l'opzione per la distribuzione in uno slot di distribuzione esistente o in un ambiente del servizio app di Azure. Per entrambe le destinazioni, l'attività richiede un nome di gruppo di risorse. If the deployment target is a slot, by default the deployment is to the Production slot. È possibile specificare qualsiasi altro nome di slot esistente. Se la destinazione di distribuzione è un ambiente del servizio app di Azure, lasciare il nome dello slot come Production e specificare solo il nome del gruppo di risorse.


ResourceGroupName - Resource group
string. Obbligatorio quando DeployToSlotOrASEFlag = true.

Il nome del gruppo di risorse è obbligatorio quando la destinazione di distribuzione è uno slot di distribuzione o un ambiente del servizio app.

Specificare il gruppo di risorse di Azure che contiene il servizio app di Azure specificato in precedenza.


SlotName - Slot
string. Obbligatorio quando DeployToSlotOrASEFlag = true. Valore predefinito: production.

Specificare uno slot esistente diverso da quello di produzione.


DockerNamespace - registro o spazio dei nomi
string. Obbligatorio quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

Un nome di dominio di primo livello univoco globale per il registro o lo spazio dei nomi specifico. Nota: il nome completo dell'immagine sarà del formato {registry or namespace}/{repository}:{tag}. Ad esempio, myregistry.azurecr.io/nginx:latest.


DockerNamespace - registro o spazio dei nomi
string. Obbligatorio quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

Un nome di dominio di primo livello univoco globale per il registro o lo spazio dei nomi specifico. Nota: il nome completo dell'immagine sarà del formato {registry or namespace}/{repository}:{tag}. Ad esempio, myregistry.azurecr.io/nginx:latest.


DockerNamespace - registro o spazio dei nomi
string. Obbligatorio quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Un nome di dominio di primo livello univoco globale per il registro o lo spazio dei nomi specifico. Nota: il nome completo dell'immagine sarà del formato {registry or namespace}/{repository}:{tag}. Ad esempio, myregistry.azurecr.io/nginx:latest.


DockerRepository - Image
string. Obbligatorio quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

Nome del repository in cui sono archiviate le immagini del contenitore. Nota: il nome completo dell'immagine sarà del formato {registry or namespace}/{repository}:{tag}. Ad esempio, myregistry.azurecr.io/nginx:latest.


DockerRepository - Image
string. Obbligatorio quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

Nome del repository in cui sono archiviate le immagini del contenitore. Nota: il nome completo dell'immagine sarà del formato {registry or namespace}/{repository}:{tag}. Ad esempio, myregistry.azurecr.io/nginx:latest.


DockerRepository - Image
string. Obbligatorio quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Nome del repository in cui sono archiviate le immagini del contenitore. Nota: il nome completo dell'immagine sarà del formato {registry or namespace}/{repository}:{tag}. Ad esempio, myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Optional. Usare quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

I tag sono il meccanismo usato dai registri per applicare le informazioni sulla versione alle immagini Docker. Nota: il nome completo dell'immagine sarà del formato {registry or namespace}/{repository}:{tag}. Ad esempio, myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Optional. Usare quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

I tag sono il meccanismo usato dai registri per applicare le informazioni sulla versione alle immagini Docker. Nota: il nome completo dell'immagine sarà del formato {registry or namespace}/{repository}:{tag}. Ad esempio, myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Optional. Usare quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

I tag sono il meccanismo usato dai registri per applicare le informazioni sulla versione alle immagini Docker. Nota: il nome completo dell'immagine sarà del formato {registry or namespace}/{repository}:{tag}. Ad esempio, myregistry.azurecr.io/nginx:latest.


VirtualApplication - Virtual application
string. Optional. Usare quando WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "".

Specificare il nome dell'applicazione virtuale configurata nel portale di Azure. Questa opzione non è necessaria per le distribuzioni nella radice del sito Web. L'applicazione virtuale deve essere stata configurata prima della distribuzione del progetto Web.


VirtualApplication - Virtual application
string. Optional. Usare quando WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "".

Specificare il nome dell'applicazione virtuale configurata nel portale di Azure. Questa opzione non è necessaria per le distribuzioni nella radice del sito Web. L'applicazione virtuale deve essere stata configurata prima della distribuzione del progetto Web.


packageForLinux - pacchetto o cartella
Input alias: Package. string. Obbligatorio quando ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Valore predefinito: $(System.DefaultWorkingDirectory)/**/*.zip.

Percorso del file del pacchetto o in una cartella contenente il contenuto del servizio app generato da MSBuild o da un file ZIP o war compresso.

Variables are Build and Release. Wildcards are supported.

Ad esempio, $(System.DefaultWorkingDirectory)/\*\*/\*.zip o $(System.DefaultWorkingDirectory)/\*\*/\*.war.


RuntimeStack - Runtime Stack
string. Optional. Usare quando WebAppKind = webAppLinux.

Specificare il framework e la versione.


RuntimeStackFunction - Runtime Stack
string. Optional. Usare quando WebAppKind = functionAppLinux. Valori consentiti: DOTNET|2.2 (DOTNET|2.2 (functionapp v2)), DOTNET|3.1 (DOTNET|3.1 (functionapp v3)), JAVA|8 (JAVA|8 (functionapp v2/v3)), JAVA|11 (JAVA|11 (functionapp v3)), NODE|8 (NODE|8 (functionapp v2)), NODE|10 (NODE|10 (functionapp v2/v3)), NODE|12 (NODE|12 (functionapp v3)), NODE|14 (NODE|14 (functionapp v3)), NODE|20 (NODE|20 (functionapp v4)), (NODE|22 (functionapp v4)), NODE|22PYTHON|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)).

Specificare il framework e la versione. Per le versioni di runtime supportate, vedere panoramica delle versioni di runtime di Funzioni di Azure . I valori precedenti, ad esempio DOCKER|microsoft/azure-functions-*, sono deprecati. Usare i nuovi valori dall'elenco a discesa.


RuntimeStackFunction - Runtime Stack
string. Optional. Usare quando WebAppKind = functionAppLinux. Valori consentiti: 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)).

Specificare il framework e la versione. Per le versioni di runtime supportate, vedere panoramica delle versioni di runtime di Funzioni di Azure . I valori precedenti, ad esempio DOCKER|microsoft/azure-functions-*, sono deprecati. Usare i nuovi valori dall'elenco a discesa.


RuntimeStackFunction - Runtime Stack
string. Optional. Usare quando WebAppKind = functionAppLinux. Valori consentiti: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET), DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

Specificare il framework e la versione.


StartupCommand - Startup command
string. Optional. Usare quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer.

Specificare il comando Startup. For example:

dotnet executive filename.dll

dotnet filename.dll.


StartupCommand - Startup command
string. Optional. Usare quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer.

Specificare il comando Startup. For example:

dotnet executive filename.dll

dotnet filename.dll.


StartupCommand - Startup command
string. Optional. Usare quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

Specificare il comando Startup. For example:

dotnet executive filename.dll

dotnet filename.dll.


ScriptType - tipo di script di distribuzione
string. Optional. Usare quando ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Valori consentiti: Inline Script, File Path (percorso file script).

Personalizza la distribuzione fornendo uno script eseguito nel servizio app di Azure dopo la corretta distribuzione. Scegliere lo script di distribuzione inline o il percorso e il nome di un file di script. Altre informazioni su distribuzione del servizio app di Azure.


ScriptType - tipo di script di distribuzione
string. Optional. Usare quando ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Valori consentiti: Inline Script, File Path (percorso file script).

Personalizza la distribuzione fornendo uno script eseguito nel servizio app di Azure dopo la corretta distribuzione. Scegliere lo script di distribuzione inline o il percorso e il nome di un file di script. Altre informazioni su distribuzione del servizio app di Azure.


InlineScript - Inline Script
string. Obbligatorio quando ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Valore predefinito: :: You can provide your deployment commands here. One command per line..

Script da eseguire. È possibile fornire i comandi di distribuzione qui, un comando per riga. Vedere l'esempio seguente.


InlineScript - Inline Script
string. Obbligatorio quando ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Valore predefinito: :: You can provide your deployment commands here. One command per line..

Script da eseguire. È possibile fornire i comandi di distribuzione qui, un comando per riga. Vedere l'esempio seguente.


ScriptPath - percorso dello script di distribuzione
string. Obbligatorio quando ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer.

Percorso e nome dello script da eseguire.


ScriptPath - percorso dello script di distribuzione
string. Obbligatorio quando ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer.

Percorso e nome dello script da eseguire.


WebConfigParameters - Generare parametri di web.config per le app Python, Node.js, Go e Java
string. Optional. Usare quando WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Un Web.config standard verrà generato e distribuito nel servizio app di Azure se l'applicazione non ne ha una. I valori in web.config possono essere modificati e variano in base al framework dell'applicazione. Ad esempio, per le applicazioni node.js, web.config avrà un file di avvio e iis_node valori del modulo. Questa funzionalità di modifica è solo per il web.configgenerato. Altre informazioni su distribuzione del servizio app di Azure.


WebConfigParameters - Generare parametri di web.config per le app Python, Node.js, Go e Java
string. Optional. Usare quando WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Un Web.config standard verrà generato e distribuito nel servizio app di Azure se l'applicazione non ne ha una. I valori in web.config possono essere modificati e variano in base al framework dell'applicazione. Ad esempio, per le applicazioni node.js, web.config avrà un file di avvio e iis_node valori del modulo. Questa funzionalità di modifica è solo per il web.configgenerato. Altre informazioni su distribuzione del servizio app di Azure.


AppSettings - App settings
string. Optional. Usare quando ConnectionType = AzureRM.

Modifica le impostazioni dell'applicazione dell'app Web usando la sintassi -key value. I valori contenenti spazi devono essere racchiusi tra virgolette doppie. Esempi: -Port 5000 -RequestTimeout 5000 e -WEBSITE_TIME_ZONE "Eastern Standard Time". Per fornire due o più valori chiave, i valori della chiave devono essere separati da uno spazio. Esempio: -key1 "Value1" -Key2 "Value2".


ConfigurationSettings - Configuration settings
string. Optional. Usare quando ConnectionType = AzureRM.

Modifica le impostazioni di configurazione dell'app Web usando la sintassi -key value. I valori contenenti spazi devono essere racchiusi tra virgolette doppie. Esempio: -phpVersion 5.6 -linuxFxVersion node|6.11.


enableCustomDeployment - Selezionare il metodo di distribuzione
Input alias: UseWebDeploy. boolean. Optional. Usare quando ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valore predefinito: false.

Se deselezionato o false, l'attività rileva automaticamente il metodo di distribuzione migliore in base al tipo di app, al formato del pacchetto e ad altri parametri. Selezionare questa opzione nell'Assistente attività per visualizzare i metodi di distribuzione supportati e sceglierne una per la distribuzione dell'app.


enableCustomDeployment - Selezionare il metodo di distribuzione
Input alias: UseWebDeploy. boolean. Optional. Usare quando ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valore predefinito: false.

Se deselezionato o false, l'attività rileva automaticamente il metodo di distribuzione migliore in base al tipo di app, al formato del pacchetto e ad altri parametri. Selezionare questa opzione nell'Assistente attività per visualizzare i metodi di distribuzione supportati e sceglierne una per la distribuzione dell'app.


DeploymentType - Deployment method
string. Obbligatorio quando UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valori consentiti: webDeploy (distribuzione Web), zipDeploy (distribuzione zip), runFromZip (esegui dal pacchetto). Valore predefinito: webDeploy.

Determina il metodo di distribuzione per l'app.


DeploymentType - Deployment method
string. Obbligatorio quando UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valori consentiti: webDeploy (distribuzione Web), zipDeploy (distribuzione zip), runFromZip (esegui dal pacchetto). Valore predefinito: webDeploy.

Determina il metodo di distribuzione per l'app.


TakeAppOfflineFlag - portare l'app offline
boolean. Optional. Usare quando UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valore predefinito: true.

Specificare questa opzione per portare offline il servizio app di Azure inserendo un file app_offline.htm nella directory radice prima dell'avvio dell'operazione di sincronizzazione. Il file verrà rimosso al termine della sincronizzazione.


TakeAppOfflineFlag - portare l'app offline
boolean. Optional. Usare quando UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valore predefinito: true.

Specificare questa opzione per portare offline il servizio app di Azure inserendo un file app_offline.htm nella directory radice prima dell'avvio dell'operazione di sincronizzazione. Il file verrà rimosso al termine della sincronizzazione.


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

Percorso del file SetParameters.xml da usare.


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

Percorso del file SetParameters.xml da usare.


RemoveAdditionalFilesFlag - Rimuovere altri file nella di destinazione
boolean. Optional. Usare quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valore predefinito: false.

Specificare "true" per eliminare i file nel servizio app di Azure senza file corrispondenti nel pacchetto o nella cartella del servizio app. Verranno rimossi anche tutti i file correlati a qualsiasi estensione installata in questo servizio app di Azure. Per evitare questo problema, selezionare la casella di controllo Exclude files from App_Data folder.


RemoveAdditionalFilesFlag - Rimuovere altri file nella di destinazione
boolean. Optional. Usare quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valore predefinito: false.

Specificare "true" per eliminare i file nel servizio app di Azure senza file corrispondenti nel pacchetto o nella cartella del servizio app. Verranno rimossi anche tutti i file correlati a qualsiasi estensione installata in questo servizio app di Azure. Per evitare questo problema, selezionare la casella di controllo Exclude files from App_Data folder.


ExcludeFilesFromAppDataFlag - Escludere file dalla cartella App_Data
boolean. Optional. Usare quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valore predefinito: true.

Specificare l'opzione per impedire la distribuzione o l'eliminazione dei file nella cartella App_Data dal servizio app di Azure.


ExcludeFilesFromAppDataFlag - Escludere file dalla cartella App_Data
boolean. Optional. Usare quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valore predefinito: true.

Specificare l'opzione per impedire la distribuzione o l'eliminazione dei file nella cartella App_Data dal servizio app di Azure.


AdditionalArguments - Additional arguments
string. Optional. Usare quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valore predefinito: -retryAttempts:6 -retryInterval:10000.

Argomenti aggiuntivi di Distribuzione Web che seguono la sintassi -key:value. Questi verranno applicati durante la distribuzione del servizio app di Azure. Esempi: -disableLink:AppPoolExtension -disableLink:ContentExtension. Altre informazioni sulle impostazioni delle operazioni di distribuzione Web .


AdditionalArguments - Additional arguments
string. Optional. Usare quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valore predefinito: -retryAttempts:6 -retryInterval:10000.

Argomenti aggiuntivi di Distribuzione Web che seguono la sintassi -key:value. Questi verranno applicati durante la distribuzione del servizio app di Azure. Esempi: -disableLink:AppPoolExtension -disableLink:ContentExtension. Altre informazioni sulle impostazioni delle operazioni di distribuzione Web .


RenameFilesFlag - Rinominare i file bloccati
boolean. Optional. Usare quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valore predefinito: true.

Specificare il valore predefinito per abilitare il flag msdeploy MSDEPLOY_RENAME_LOCKED_FILES=1 nelle impostazioni dell'applicazione del servizio app di Azure. Se impostata, l'opzione consente a msdeploy di rinominare i file bloccati durante la distribuzione dell'app.


RenameFilesFlag - Rinominare i file bloccati
boolean. Optional. Usare quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valore predefinito: true.

Specificare il valore predefinito per abilitare il flag msdeploy MSDEPLOY_RENAME_LOCKED_FILES=1 nelle impostazioni dell'applicazione del servizio app di Azure. Se impostata, l'opzione consente a msdeploy di rinominare i file bloccati durante la distribuzione dell'app.


enableXmlTransform - XML transformation
Input alias: XmlTransformation. boolean. Optional. Usare quando WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Valore predefinito: false.

Le trasformazioni di configurazione verranno eseguite per *.Release.config e *.<EnvironmentName>.config nel *.config file. Le trasformazioni di configurazione vengono eseguite prima della sostituzione delle variabili. XML transformations are supported only for the Windows platform.


enableXmlTransform - XML transformation
Input alias: XmlTransformation. boolean. Optional. Usare quando WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Valore predefinito: false.

Le trasformazioni di configurazione verranno eseguite per *.Release.config e *.<EnvironmentName>.config nel *.config file. Le trasformazioni di configurazione vengono eseguite prima della sostituzione delle variabili. XML transformations are supported only for the Windows platform.


enableXmlVariableSubstitution - sostituzione di variabili XML
Input alias: XmlVariableSubstitution. boolean. Optional. Usare quando WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Valore predefinito: false.

Le variabili definite nella pipeline di compilazione o versione verranno confrontate con le voci chiave o nome nelle sezioni configSections, appSettings, applicationSettingse connectionStrings di qualsiasi file di configurazione e parameters.xml. La sostituzione delle variabili viene eseguita dopo le trasformazioni di configurazione.

Se le stesse variabili sono definite nella pipeline di versione e nella fase, le variabili di fase supereranno le variabili della pipeline di versione. Altre informazioni su [sostituzione di variabili XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


enableXmlVariableSubstitution - sostituzione di variabili XML
Input alias: XmlVariableSubstitution. boolean. Optional. Usare quando WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Valore predefinito: false.

Le variabili definite nella pipeline di compilazione o versione verranno confrontate con le voci chiave o nome nelle sezioni configSections, appSettings, applicationSettingse connectionStrings di qualsiasi file di configurazione e parameters.xml. La sostituzione delle variabili viene eseguita dopo le trasformazioni di configurazione.

Se le stesse variabili sono definite nella pipeline di versione e nella fase, le variabili di fase supereranno le variabili della pipeline di versione. Altre informazioni su [sostituzione di variabili XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


JSONFiles - sostituzione di variabili JSON
string. Optional. Usare quando WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Fornisce un elenco delimitato da nuova riga di file JSON per sostituire i valori delle variabili. I nomi dei file devono essere relativi alla cartella radice. Per sostituire le variabili JSON annidate o gerarchiche, specificarle usando JSONPath espressioni. Ad esempio, per sostituire il valore di ConnectionString nell'esempio seguente, definire una variabile denominata Data.DefaultConnection.ConnectionString nella pipeline di compilazione o versione (o nella fase delle pipeline di versione).

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

Una sostituzione di variabili viene eseguita dopo le trasformazioni di configurazione. Nota: le variabili della pipeline di compilazione e versione vengono escluse dalla sostituzione. Altre informazioni sulla sostituzione di variabili JSON .


JSONFiles - sostituzione di variabili JSON
string. Optional. Usare quando WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Fornisce un elenco delimitato da nuova riga di file JSON per sostituire i valori delle variabili. I nomi dei file devono essere relativi alla cartella radice. Per sostituire le variabili JSON annidate o gerarchiche, specificarle usando JSONPath espressioni. Ad esempio, per sostituire il valore di ConnectionString nell'esempio seguente, definire una variabile denominata Data.DefaultConnection.ConnectionString nella pipeline di compilazione o versione (o nella fase delle pipeline di versione).

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

Una sostituzione di variabili viene eseguita dopo le trasformazioni di configurazione. Nota: le variabili della pipeline di compilazione e versione vengono escluse dalla sostituzione. Altre informazioni sulla sostituzione di variabili JSON .


Opzioni di controllo attività

Tutte le attività hanno opzioni di controllo oltre ai relativi input di attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Output variables

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

AppServiceApplicationUrl
URL applicazione del servizio app selezionato.

Remarks

Usare questa attività per eseguire la distribuzione in un'ampia gamma di servizi app in Azure. L'attività funziona su agenti multipiattaforma che eseguono Windows, Linux o Mac e usa diverse tecnologie di distribuzione sottostanti.

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

L'attività può essere usata per la distribuzione in un'ampia gamma di servizi app di Azure, ad esempio:

Prerequisiti per l'attività

Per il corretto funzionamento dell'attività, è necessario configurare i prerequisiti seguenti nei computer di destinazione.

  • 'istanza del servizio app. L'attività viene usata per distribuire un progetto di app Web o un progetto di funzione di Azure in un'istanza del servizio app di Azure esistente, che deve esistere prima dell'esecuzione dell'attività. The App Service instance can be created from the Azure portal and configured there. In alternativa, è possibile usare attività di Azure PowerShell per eseguire script di Azure PowerShell per effettuare il provisioning e configurare l'app Web.

  • Azure Subscription. Per eseguire la distribuzione in Azure, è necessario una sottoscrizione di Azure collegata alla pipeline. L'attività non funziona con la connessione al servizio di Azure classico e non elenca queste connessioni nelle impostazioni dell'attività.

Usage notes

  • L'attività funziona solo con le API di Azure Resource Manager .
  • Per ignorare gli errori SSL, definire una variabile denominata VSTS_ARM_REST_IGNORE_SSL_ERRORS con valore true nella pipeline. Se si esegue la distribuzione in uno slot configurato per lo scambio automatico, lo scambio avrà esito negativo a meno che non si imposti SCM_SKIP_SSL_VALIDATION o SCM_SKIP_ASE_SSL_VALIDATION su 1 nelle impostazioni di configurazione dei servizi app.
  • Per le app .NET destinate all'app Web in Windows, evitare errori di distribuzione con l'errore ERROR_FILE_IN_USE assicurando che Rinominare i file bloccati e le impostazioni di Take App Offline siano abilitate. Per la distribuzione senza tempi di inattività, usare l'opzione slot swap.
  • Quando si esegue la distribuzione in un servizio app con Application Insights configurato ed è stato abilitato Rimuovere altri file nella destinazione, assicurarsi di abilitare anche Escludere file dalla cartella App_Data per mantenere l'estensione Application Insights in uno stato sicuro. Questa operazione è necessaria perché il processo Web continuo di Application Insights viene installato nella cartella App_Data.

Deployment methods

In questa attività sono disponibili diversi metodi di distribuzione. Distribuzione Web (msdeploy.exe) è l'impostazione predefinita. Per modificare l'opzione di distribuzione, espandere Opzioni di distribuzione aggiuntive e abilitare Selezionare il metodo di distribuzione scegliere tra opzioni di distribuzione aggiuntive basate su pacchetti.

In base al tipo di servizio app di Azure e all'agente, l'attività sceglie una tecnologia di distribuzione appropriata. Le diverse tecnologie di distribuzione usate dall'attività sono:

Per impostazione predefinita, l'attività tenta di selezionare la tecnologia di distribuzione appropriata in base al tipo di pacchetto di input, al tipo di servizio app e al sistema operativo dell'agente.

Rilevamento automatico della logica

Per gli agenti basati su Windows.

Tipo di servizio app Package type Deployment Method
App Web in Linux o app per le funzioni in Linux Folder/Zip/jar
War
Distribuzione zip
war
App Web per contenitori (Linux) o app per le funzioni per contenitori (Linux) Aggiornare le impostazioni dell'app NA
App Web in Windows, App per le funzioni in Windows, app per le API o app per dispositivi mobili War
Jar
tipo di pacchetto MsBuild o distribuirlo nell'applicazione virtuale


cartella/zip
Guerra Deploy Zip
Deploy
Web Deploy

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

Negli agenti non Windows (per qualsiasi tipo di servizio app), l'attività si basa su API REST Kudu per distribuire l'app.

Web Deploy

Web Deploy (msdeploy.exe) can be used to deploy a Web App on Windows or a Function App to the Azure App Service using a Windows agent. Distribuzione Web è ricca di funzionalità e offre opzioni come:

  • Rinominare i file bloccati: Rinominare qualsiasi file ancora in uso dal server Web abilitando il flag msdeploy MSDEPLOY\_RENAME\_LOCKED\_FILES=1 nelle impostazioni del servizio app di Azure. Questa opzione, se impostata, consente a msdeploy di rinominare i file bloccati durante la distribuzione dell'app.

  • Rimuovere file aggiuntivi nella destinazione: Elimina i file nel servizio app di Azure che non dispongono di file corrispondenti nel pacchetto o nella cartella dell'artefatto del servizio app in fase di distribuzione.

  • Escludi file dalla cartella App_Data: Impedisci file nella cartella App_Data (nel pacchetto o nella cartella artefatto da distribuire) nel servizio app di Azure

  • Argomenti aggiuntivi di distribuzione Web: argomenti che verranno applicati durante la distribuzione del servizio app di Azure. Esempio: -disableLink:AppPoolExtension -disableLink:ContentExtension. Per altri esempi di impostazioni dell'operazione distribuzione Web, vedere Web Deploy Operation Settings.

Installare Distribuzione Web nell'agente da Distribuzione Web 3.6. La distribuzione Web 3.5 deve essere installata senza il supporto SQL in bundle. Non è necessario scegliere impostazioni personalizzate durante l'installazione di Distribuzione Web. Distribuzione Web viene installata in C:/Program Files (x86)/IIS/Microsoft Web Deploy V3.

API REST Kudu

API REST Kudu funzionano su agenti di automazione windows e Linux quando la destinazione è un'app Web in Windows, app Web in Linux (origine predefinita) o app per le funzioni. L'attività usa Kudu per copiare i file nel servizio app di Azure.

Container Registry

Funziona su agenti di automazione Windows e Linux quando la destinazione è un'app Web per contenitori. L'attività aggiorna l'app impostando le informazioni appropriate sul registro contenitori, sul repository, sul nome dell'immagine e sui tag. È anche possibile usare l'attività per passare un comando di avvio per l'immagine del contenitore.

Zip Deploy

Expects a .zip deployment package and deploys the file contents to the wwwroot folder of the App Service or Function App in Azure. This option overwrites all existing contents in the wwwroot folder. Per altre informazioni, vedere distribuzione zip per Funzioni di Azure.

Esegui dal pacchetto

Prevede lo stesso pacchetto di distribuzione di Zip Deploy. However, instead of deploying files to the wwwroot folder, the entire package is mounted by the Functions runtime and files in the wwwroot folder become read-only. Per altre informazioni, vedere Eseguire Funzioni di Azure da un file di pacchetto.

War Deploy

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

Troubleshooting

Non è possibile eseguire la distribuzione Web nel servizio app di Azure usando l'autenticazione microsoft Entra ID dall'agente di Windows

L'attività di distribuzione del servizio app di Azure supporta la connessione a Microsoft Azure con una connessione al servizio ARM usando l'ID Microsoft Entra, a meno che non siano presenti le tre condizioni seguenti:

  • Si usa il formato del pacchetto Distribuzione Web in un agente Windows
  • Your agent is running with an older version of msdeploy.exe (for example when using the windows-2019 hosted agent image)
  • L'autenticazione di base è disabilitata per il servizio app di Azure

Se queste tre condizioni sono presenti, si riceverà un errore come 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.

Per risolvere questo problema, è possibile scegliere tra le opzioni seguenti, in ordine di preferenza.

  1. Aggiornare l'immagine dell'agente. If you are using hosted agents, move from windows-2019 to windows-2022 (or windows-latest). If you are using self-hosted agents, install Visual Studio 2022 on the agent to get a newer version of msdeploy.exe.
  2. If you are dependent on an older agent image and can't update the agent for your pipeline, consider splitting the job so that the Azure App Service deploy task runs on windows-2022 (or windows-latest).
  3. Se nessuna di queste opzioni è possibile, è possibile abilitare l'autenticazione di base per il servizio app di Azure.

Errore: Non è stato possibile recuperare il token di accesso per Azure. Verificare se l'entità servizio usata è valida e non scaduta.

L'attività usa l'entità servizio nella connessione al servizio per l'autenticazione con Azure. Se l'entità servizio è scaduta o non dispone delle autorizzazioni per il servizio app, l'attività non riesce con questo errore. Verificare la validità dell'entità servizio usata e che sia presente nella registrazione dell'app. Per altre informazioni, vedere Usare il controllo degli accessi in base al ruolo per gestire l'accesso alle risorse della sottoscrizione di Azure. Questo post di blog contiene anche altre informazioni sull'uso dell'autenticazione dell'entità servizio.

SSL error

Se si vuole usare un certificato nel servizio app, il certificato deve essere firmato da un'autorità di certificazione attendibile. Se l'app Web restituisce errori di convalida dei certificati, è probabile che si stia usando un certificato autofirmato. Impostare una variabile denominata VSTS_ARM_REST_IGNORE_SSL_ERRORS sul valore true nella pipeline di compilazione o versione per risolvere l'errore.

Una versione si blocca per molto tempo e quindi ha esito negativo

Questo problema potrebbe essere il risultato di capacità insufficiente nel piano di servizio app. Per risolvere questo problema, è possibile aumentare le prestazioni dell'istanza del servizio app per aumentare la CPU, la RAM e lo spazio su disco disponibili o provare con un piano di servizio app diverso.

5xx error codes

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

La funzione di Azure ha improvvisamente smesso di funzionare

Funzioni di Azure può improvvisamente smettere di funzionare se sono trascorsi più di un anno dall'ultima distribuzione. Se si esegue la distribuzione con "RunFromPackage" in "deploymentMethod", viene generata una firma di accesso condiviso con data di scadenza di 1 anno e impostata come valore di "WEBSITE_RUN_FROM_PACKAGE" nella configurazione dell'applicazione. Funzioni di Azure usa questa firma di accesso condiviso per fare riferimento al file del pacchetto per l'esecuzione della funzione, quindi se la firma di accesso condiviso è scaduta, la funzione non verrà eseguita. Per risolvere questo problema, eseguire di nuovo la distribuzione per generare una firma di accesso condiviso con una data di scadenza di un anno.

Errore: nessun pacchetto trovato con il criterio specificato

Controllare se il pacchetto indicato nell'attività viene pubblicato come artefatto nella compilazione o in una fase precedente e scaricato nel processo corrente.

Errore: l'opzione Publish using zip deploy non è supportata per il tipo di pacchetto msBuild

I pacchetti Web creati tramite l'attività MSBuild (con argomenti predefiniti) hanno una struttura di cartelle nidificata che può essere distribuita correttamente solo da Distribuzione Web. L'opzione di distribuzione publish-to-zip non può essere usata per distribuire tali pacchetti. Per convertire la struttura dei pacchetti, seguire questa procedura:

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

    Screenshot che mostra i valori della soluzione di compilazione.

  2. Aggiungere un'attività Archivia e modificare i valori nel modo seguente:

    1. Modificare cartella o file radice per archiviare in $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Deselezionare la casella di controllo Nome cartella radice anteporta ai percorsi di archiviazione:

      Screenshot che mostra i valori archivio.

La distribuzione di app Web in Windows ha esito positivo, ma l'app non funziona

Questo può essere dovuto al fatto che web.config non è presente nell'app. È possibile aggiungere un file di web.config all'origine o generarne uno automaticamente usando le opzioni Di trasformazione file e Sostituzione variabile dell'attività.

  • Fare clic sull'attività e passare a Genera parametri web.config per Python, Node.js, Go e Java.

    screenshot della finestra di dialogo Genera parametri di web.config.

  • Fare clic sul pulsante Genera web.config parametri per Python, Node.js, Go e Java per modificare i parametri.

    screenshot dell'elenco a discesa Framework applicazione.

  • Selezionare il tipo di applicazione dall'elenco a discesa.

  • Fare clic su OK. Verrà popolato web.config parametri necessari per generare web.config.

Note

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

ERROR_FILE_IN_USE

When deploying .NET apps to Web App on Windows, deployment may fail with error code ERROR_FILE_IN_USE. Per risolvere l'errore, assicurarsi che Rinominare i file bloccati e Opzioni di Take App Offline (Porta l'app offline) siano abilitate nell'attività. Per le distribuzioni senza tempi di inattività, usare lo scambio di slot.

È anche possibile usare metodo run from package deployment per evitare il blocco delle risorse.

Errore di distribuzione Web

Se si usa la distribuzione Web per distribuire l'app, in alcuni scenari di errore Distribuzione Web verrà visualizzato un codice di errore nel log. Per risolvere un errore di distribuzione Web, vedere Codici errore distribuzione Web.

La distribuzione di app Web nell'ambiente del servizio app non funziona

  • Assicurarsi che l'agente di compilazione di Azure DevOps si trova nella stessa rete virtuale (subnet) del servizio di bilanciamento del carico interno (ILB) dell'ambiente del servizio app. In questo modo l'agente potrà eseguire il pull del codice da Azure DevOps e distribuirlo nell'ambiente del servizio app.
  • Se si usa Azure DevOps, l'agente non deve essere accessibile da Internet, ma richiede solo l'accesso in uscita per connettersi al servizio Azure DevOps.
  • Se si usa TFS/Azure DevOps Server distribuito in una rete virtuale, l'agente può essere completamente isolato.
  • L'agente di compilazione deve essere configurato con la configurazione DNS dell'app Web in cui deve essere distribuito. Poiché le risorse private nella rete virtuale non hanno voci in DNS di Azure, è necessario aggiungerle al file hosts nel computer agente.
  • Se per la configurazione dell'ambiente del servizio app viene usato un certificato autofirmato, l'opzione -allowUntrusted deve essere impostata nell'attività di distribuzione per MSDeploy. È anche consigliabile impostare la variabile VSTS_ARM_REST_IGNORE_SSL_ERRORS su true. Se per la configurazione dell'ambiente del servizio app viene usato un certificato di un'autorità di certificazione, questo non deve essere necessario. Se si esegue la distribuzione in uno slot configurato per lo scambio automatico, lo scambio avrà esito negativo a meno che non si imposti SCM_SKIP_SSL_VALIDATION o SCM_SKIP_ASE_SSL_VALIDATION su 1 nelle impostazioni di configurazione dei servizi app.

FAQs

Qual è la differenza tra le attività AzureWebApp e AzureRmWebAppDeployment?

L'attività app Web di Azure (AzureWebApp) è il modo più semplice per eseguire la distribuzione in un'app Web di Azure. Per impostazione predefinita, la distribuzione si verifica nell'applicazione radice nell'app Web di Azure.

L''attività Distribuzione del servizio app di Azure (AzureRmWebAppDeployment) può gestire scenari più personalizzati, ad esempio:

Note

Le trasformazioni di file e la sostituzione delle variabili sono supportate anche dall'attività Trasformazione file separata da usare in Azure Pipelines. È possibile usare l'attività Trasformazione file per applicare trasformazioni di file e sostituzioni di variabili in qualsiasi file di configurazione e parametri.

Come configurare la connessione al servizio?

Questa attività richiede una connessione al servizio Azure Resource Manager .

Come configurare la distribuzione di processi Web con Application Insights?

When you're deploying to an App Service, if you have Application Insights configured and you've enabled Remove additional files at destination, you also need to enable Exclude files from the App_Data folder. L'abilitazione di questa opzione mantiene l'estensione di Application Insights in uno stato sicuro. Questo passaggio è necessario perché il processo Web continuo di Application Insights è installato nella cartella App_Data.

Come si configura l'agente se è dietro un proxy durante la distribuzione nel servizio app?

Se l'agente self-hosted richiede un proxy Web, è possibile informare l'agente sul proxy durante la configurazione. In questo modo l'agente può connettersi ad Azure Pipelines o al server Azure DevOps tramite il proxy. Altre informazioni sull'esecuzione di un agente self-hosted dietro un proxy Web.

Examples

Distribuire in un tipo di app specifico

Per eseguire la distribuzione in un tipo di app specifico, impostare appType su uno dei valori accettati seguenti: webApp (app Web in Windows), webAppLinux (app Web in Linux), webAppContainer (app Web per contenitori - Linux), functionApp (app per le funzioni in Windows), functionAppLinux (app per le funzioni in Linux), functionAppContainer (app per le funzioni per contenitori - Linux), apiApp (app per le API), mobileApp (app per dispositivi mobili). Se non indicato, webApp viene considerato come valore predefinito.

Per abilitare le opzioni di distribuzione avanzate, aggiungere il parametro enableCustomDeployment: true e includere i parametri seguenti in base alle esigenze.

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

Eseguire la distribuzione nel contenitore Linux di App Web di Azure

L'esempio YAML seguente viene distribuito in un contenitore di app Web di Azure (Linux).

pool:
  vmImage: ubuntu-latest

variables:
  azureSubscriptionEndpoint: Contoso
  DockerNamespace: contoso.azurecr.io
  DockerRepository: aspnetcore
  WebAppName: containersdemoapp

steps:

- task: AzureRMWebAppDeployment@4
  displayName: Azure App Service Deploy
  inputs:
    appType: webAppContainer
    ConnectedServiceName: $(azureSubscriptionEndpoint)
    WebAppName: $(WebAppName)
    DockerNamespace: $(DockerNamespace)
    DockerRepository: $(DockerRepository)
    DockerImageTag: $(Build.BuildId)

Distribuire un'app Web in un servizio app di Windows tra slot di distribuzione

L'esempio seguente distribuisce un'app Web in un servizio app di Windows tra slot di distribuzione.

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'

Script post-distribuzione di esempio

L'attività offre un'opzione per personalizzare la distribuzione fornendo uno script che verrà eseguito nel servizio app di Azure dopo che gli artefatti dell'app sono stati copiati correttamente nel servizio app. È possibile scegliere di specificare uno script di distribuzione inline o il percorso e il nome di un file di script nella cartella dell'artefatto.

Ciò è molto utile quando si vogliono ripristinare le dipendenze dell'applicazione direttamente nel servizio app. Il ripristino dei pacchetti per le app Node, PHP e Python consente di evitare timeout quando la dipendenza dell'applicazione comporta la copia di un elemento di grandi dimensioni dall'agente al servizio app di Azure.

Un esempio di script di distribuzione è:

@echo off
if NOT exist requirements.txt (
 echo No Requirements.txt found.
 EXIT /b 0
)
if NOT exist "$(PYTHON_EXT)/python.exe" (
 echo Python extension not available >&2
 EXIT /b 1
)
echo Installing dependencies
call "$(PYTHON_EXT)/python.exe" -m pip install -U setuptools
if %errorlevel% NEQ 0 (
 echo Failed to install setuptools >&2
 EXIT /b 1
)
call "$(PYTHON_EXT)/python.exe" -m pip install -r requirements.txt
if %errorlevel% NEQ 0 (
 echo Failed to install dependencies>&2
 EXIT /b 1
)

Requirements

Requirement Description
Pipeline types YAML, build classica, versione classica
Runs on Agent, DeploymentGroup
Demands None
Capabilities Questa attività non soddisfa alcuna richiesta di attività successive nel processo.
Command restrictions Any
Settable variables Any
Agent version 2.104.1 o versione successiva
Task category Deploy

See also

  • This task is open source on GitHub. I commenti e i contributi sono benvenuti.