AzureRmWebAppDeployment@4 - Servizio app di Azure distribuire l'attività v4

Usare questa attività per la distribuzione in Servizio app di Azure un'app Web, mobile o API usando Docker, Java, .NET, .NET Core, Node.js, PHP, Python o Ruby.

Nota

Usare AzureFunctionApp@1 per distribuire app Funzioni di Azure.

Aggiornare app Azure Servizi in Windows, App Web in Linux con immagini predefinite o contenitori Docker, ASP.NET, .NET Core, PHP, Python o Node.js basate su applicazioni Web, App per le funzioni in Windows o Linux con contenitori Docker, app per dispositivi mobili, applicazioni API e processi Web usando API Web Deploy/Kudu REST API.

Sintassi

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

Input

ConnectionType - Tipo di connessione
string. Obbligatorio. 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.

Specificare Publish Profile per l'uso di profili di pubblicazione creati da Visual Studio.


ConnectionType - Tipo di connessione
string. Obbligatorio. 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.


azureSubscription - Sottoscrizione di Azure
Alias di input: 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.

Percorso del profilo di pubblicazione creato da Visual Studio.


PublishProfilePassword - Pubblicare la password del profilo
string. Obbligatorio quando ConnectionType = PublishProfile.

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


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

Scegliere da 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 - servizio app tipo
Alias di input: WebAppKind. string. Obbligatorio quando ConnectionType = AzureRM. Valori consentiti: webApp (App Web in Windows), (App Web in Linux), webAppContainerwebAppLinux (App Web per contenitori (Linux)), (App per le funzioni in Windows functionAppLinux ), (App per le funzioni in Linux), (App per le funzioni per contenitori (Linux functionAppContainer ) functionAppapiApp ), (app per le API), (app mobileApp per dispositivi mobili). Valore predefinito: webApp.

Scegliere da 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 - servizio app nome
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'attività assistente.


deployToSlotOrASE - Distribuire in slot o ambiente del servizio app
Alias di input: DeployToSlotOrASEFlag. boolean. facoltativo. Usare quando ConnectionType = AzureRM && WebAppKind != "". Valore predefinito: false.

Specificare l'opzione per la distribuzione in uno slot di distribuzione esistente o in un ambiente Servizio app di Azure. Per entrambe le destinazioni, l'attività richiede un nome del gruppo di risorse. Se la destinazione di distribuzione è uno slot, per impostazione predefinita la distribuzione è nello slot di produzione . È possibile specificare qualsiasi altro nome dello slot esistente. Se la destinazione di distribuzione è un ambiente Servizio app di Azure, lasciare il nome dello slot come Production e specificare solo il nome del gruppo di risorse.


ResourceGroupName - Gruppo di risorse
string. Obbligatorio quando DeployToSlotOrASEFlag = true.

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

Specificare il gruppo di risorse di Azure contenente la Servizio app di Azure specificata in precedenza.


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

Specificare uno slot esistente diverso dallo slot di produzione.


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

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


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

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


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

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


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

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


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

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


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

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


DockerImageTag - Tag
string. facoltativo. 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 dell'immagine completo sarà del formato: {registry or namespace}/{repository}:{tag}. Ad esempio: myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. facoltativo. 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. facoltativo. 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 - Applicazione virtuale
string. facoltativo. 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 - Applicazione virtuale
string. facoltativo. 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
Alias di input: 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.

Le variabili sono Build e Release. Sono supportati caratteri jolly .

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


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

Specificare il framework e la versione per App per le funzioni in Linux.


RuntimeStackFunction - Runtime Stack
string. facoltativo. Usare quando WebAppKind = functionAppLinux. Valori consentiti: DOTNET|2.2 (DOTNET|2.2 (functionapp v2)), DOTNET|3.1 (DOTNET|3.1 (functionapp v3)), (JAVA|8 (functionapp v2/v3)), JAVA|11 (JAVA|11 (functionapp v3)), NODE|8 (NODE|8 (functionapp v2)), JAVA|8 (NODE|10 (functionapp v3)), NODE|10 (NODE|10 (functionapp v3)2/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. Vedere la panoramica delle versioni di runtime Funzioni di Azure per le versioni di runtime supportate. I valori precedenti, ad esempio DOCKER|microsoft/azure-functions-* , sono deprecati. Usare i nuovi valori dall'elenco a discesa.


RuntimeStackFunction - Runtime Stack
string. facoltativo. 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 - Comando di avvio
string. facoltativo. Usare quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer.

Specificare il comando Di avvio. Ad esempio:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Comando di avvio
string. facoltativo. Usare quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer.

Specificare il comando Di avvio. Ad esempio:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Comando di avvio
string. facoltativo. Usare quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

Specificare il comando Di avvio. Ad esempio:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Comando di avvio
string. facoltativo. Usare quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

Specificare il comando Di avvio. Ad esempio, dotnet rundotnet filename.dll.


StartupCommand - Comando di avvio
string. facoltativo. Usare quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Specificare il comando Di avvio.


ScriptType - Tipo di script di distribuzione
string. facoltativo. 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 sulla distribuzione di Servizio app di Azure.


ScriptType - Tipo di script di distribuzione
string. facoltativo. 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 sulla distribuzione di 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 specificare qui i comandi di distribuzione, 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 specificare qui i comandi di distribuzione, 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 web.config per le app Python, Node.js, Go e Java
string. facoltativo. Usare quando WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Verrà generato e distribuito uno standard Web.config in 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 node.js le applicazioni, web.config avrà un file di avvio e iis_node valori del modulo. Questa funzionalità di modifica è solo per l'oggetto generato web.config. Altre informazioni sulla distribuzione di Servizio app di Azure.


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

Verrà generato e distribuito uno standard Web.config in 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 node.js le applicazioni, web.config avrà un file di avvio e iis_node valori del modulo. Questa funzionalità di modifica è solo per l'oggetto generato web.config. Altre informazioni sulla distribuzione di Servizio app di Azure.


AppSettings - Impostazioni dell'app
string. facoltativo. 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 di chiave, i valori della chiave devono essere separati da uno spazio. Esempio: -key1 "Value1" -Key2 "Value2".


ConfigurationSettings - Impostazioni di configurazione
string. facoltativo. 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
Alias di input: UseWebDeploy. boolean. facoltativo. 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 non è selezionata 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'attività assistente per visualizzare i metodi di distribuzione supportati e sceglierne una per la distribuzione dell'app.


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

Se non è selezionata 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'attività assistente per visualizzare i metodi di distribuzione supportati e sceglierne una per la distribuzione dell'app.


DeploymentType - Metodo di distribuzione
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 - Metodo di distribuzione
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. facoltativo. 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 il Servizio app di Azure offline inserendo un app_offline.htm file nella directory radice prima dell'inizio dell'operazione di sincronizzazione. Il file verrà rimosso al termine della sincronizzazione.


TakeAppOfflineFlag - Portare l'app offline
boolean. facoltativo. 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 il Servizio app di Azure offline inserendo un app_offline.htm file nella directory radice prima dell'inizio dell'operazione di sincronizzazione. Il file verrà rimosso al termine della sincronizzazione.


SetParametersFile - File SetParameters
string. facoltativo. 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 SetParameters.xml file da utilizzare.


SetParametersFile - File SetParameters
string. facoltativo. 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 SetParameters.xml file da utilizzare.


RemoveAdditionalFilesFlag - Rimuovere file aggiuntivi nella destinazione
boolean. facoltativo. 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 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 Exclude files from App_Data folder casella di controllo .


RemoveAdditionalFilesFlag - Rimuovere file aggiuntivi nella destinazione
boolean. facoltativo. 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 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 Exclude files from App_Data folder casella di controllo .


ExcludeFilesFromAppDataFlag - Escludere i file dalla cartella App_Data
boolean. facoltativo. 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 App_Data cartella dal Servizio app di Azure.


ExcludeFilesFromAppDataFlag - Escludere i file dalla cartella App_Data
boolean. facoltativo. 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 App_Data cartella dal Servizio app di Azure.


AdditionalArguments - Argomenti aggiuntivi
string. facoltativo. 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 distribuzione Web che seguono la sintassi -key:value. Queste verranno applicate durante la distribuzione del Servizio app di Azure. Esempi: -disableLink:AppPoolExtension -disableLink:ContentExtension. Altre informazioni sulle impostazioni delle operazioni di distribuzione Web.


AdditionalArguments - Argomenti aggiuntivi
string. facoltativo. 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 distribuzione Web che seguono la sintassi -key:value. Queste verranno applicate 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. facoltativo. 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_RENAME_LOCKED_FILES=1 msdeploy nelle impostazioni dell'applicazione 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. facoltativo. 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_RENAME_LOCKED_FILES=1 msdeploy nelle impostazioni dell'applicazione Servizio app di Azure. Se impostata, l'opzione consente a msdeploy di rinominare i file bloccati durante la distribuzione dell'app.


enableXmlTransform - Trasformazione XML
Alias di input: XmlTransformation. boolean. facoltativo. 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 in *.config file. Le trasformazioni di configurazione vengono eseguite prima della sostituzione delle variabili. Le trasformazioni XML sono supportate solo per la piattaforma Windows.


enableXmlTransform - Trasformazione XML
Alias di input: XmlTransformation. boolean. facoltativo. 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 in *.config file. Le trasformazioni di configurazione vengono eseguite prima della sostituzione delle variabili. Le trasformazioni XML sono supportate solo per la piattaforma Windows.


enableXmlVariableSubstitution - Sostituzione di variabili XML
Alias di input: XmlVariableSubstitution. boolean. facoltativo. 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 configSectionssezioni , appSettings, applicationSettingse connectionStrings di qualsiasi file e parameters.xml file di configurazione. La sostituzione delle variabili viene eseguita dopo le trasformazioni di configurazione.

Se nella pipeline di versione vengono definite le stesse variabili e nella fase, le variabili di fase sostituiscono 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
Alias di input: XmlVariableSubstitution. boolean. facoltativo. 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 configSectionssezioni , appSettings, applicationSettingse connectionStrings di qualsiasi file e parameters.xml file di configurazione. La sostituzione delle variabili viene eseguita dopo le trasformazioni di configurazione.

Se nella pipeline di versione vengono definite le stesse variabili e nella fase, le variabili di fase sostituiscono 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. facoltativo. Usare quando WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Fornisce un elenco di file JSON separato da una nuova riga per sostituire i valori delle variabili. I nomi di file devono essere relativi alla cartella radice. Per sostituire le variabili JSON annidate o gerarchiche, specificarle usando JSONPath le 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 delle variabili JSON.


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

Fornisce un elenco di file JSON separato da una nuova riga per sostituire i valori delle variabili. I nomi di file devono essere relativi alla cartella radice. Per sostituire le variabili JSON annidate o gerarchiche, specificarle usando JSONPath le 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 delle variabili JSON.


Opzioni di controllo delle attività

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

Variabili di output

Questa attività definisce le variabili di output seguenti, che è possibile utilizzare nei passaggi downstream, nei processi e nelle fasi.

AppServiceApplicationUrl
URL dell'applicazione del servizio app selezionato.

Commenti

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.

L'attività funziona per applicazioni Web basate su ASP.NET, ASP.NET Core, PHP, Java, Python, Go e Node.js.

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

Prerequisiti per l'attività

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

  • servizio app'istanza. L'attività viene usata per distribuire un progetto di app Web o un progetto funzione di Azure in un'istanza di Servizio app di Azure esistente, che deve esistere prima dell'esecuzione dell'attività. L'istanza di servizio app può essere creata dal portale di Azure e configurata in tale posizione. In alternativa, l'attività Azure PowerShell può essere usata per eseguire script di PowerShell di AzureRM per effettuare il provisioning e configurare l'app Web.

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

Note sull'utilizzo

  • L'attività funziona solo con le API Resource Manager di Azure.
  • 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 sia impostato 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 assicurandosi che le impostazioni Rinomina file bloccati e Porta 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 Rimuovi file aggiuntivi nella destinazione, assicurarsi di abilitare anche Escludi 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.

Metodi di distribuzione

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 Seleziona metodo di distribuzione per 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 Tipo di pacchetto Metodo di distribuzione
App Web in Linux o app per le funzioni in Linux Cartella/Zip/jar
War
Distribuzione distribuzione
zip
App Web per contenitori (Linux) o app per le funzioni per contenitori (Linux) Aggiornare le impostazioni dell'app ND
App Web in Windows, app per le funzioni in Windows, app per le API o app per dispositivi mobili Tipo
di pacchetto MsBuild jar
war o distribuzione nella cartella/zip dell'applicazione


virtuale
War 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 sulle API REST Kudu per distribuire l'app.

Distribuzione Web

La distribuzione Web (msdeploy.exe) può essere usata per distribuire un'app Web in Windows o un'app per le funzioni nel Servizio app di Azure usando un agente di Windows. 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\_RENAME\_LOCKED\_FILES=1 msdeploy nelle impostazioni di 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 hanno file corrispondenti nel pacchetto o nella cartella dell'artefatto servizio app da distribuire.

  • Escludere i file dalla cartella App_Data: Impedire la distribuzione dei file nella cartella App_Data (nel pacchetto o nella cartella dell'artefatto in fase di distribuzione) nel Servizio app di Azure

  • Argomenti aggiuntivi 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 Impostazioni delle operazioni di distribuzione Web.

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

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

Registro contenitori

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

Zip Deploy

Prevede un pacchetto di distribuzione .zip e distribuisce il contenuto del file nella cartella wwwroot del servizio app o dell'app per le funzioni in Azure. Questa opzione sovrascrive tutto il contenuto esistente nella cartella wwwroot . Per altre informazioni, vedere Distribuzione zip per Funzioni di Azure.

Esecuzione da pacchetto

Prevede lo stesso pacchetto di distribuzione di Zip Deploy. Tuttavia, invece di distribuire i file nella cartella wwwroot , l'intero pacchetto viene montato dal runtime e dai file di Funzioni nella cartella wwwroot diventano di sola lettura. Per altre informazioni, vedere Run your Azure Functions from a package file (Esecuzione di Funzioni di Azure da un file di pacchetto).

Distribuzione war

Prevede un pacchetto di distribuzione con estensione war e distribuisce il contenuto del file nella cartella wwwroot o nella cartella webapps del servizio app in Azure.

Risoluzione dei problemi

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

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

  • Si usa il formato del pacchetto Distribuzione Web in un agente Windows
  • L'agente è in esecuzione con una versione precedente di msdeploy.exe (ad esempio quando si usa l'immagine dell'agente ospitato windows-2019 )
  • L'autenticazione di base è disabilitata per il Servizio app di Azure

Se queste tre condizioni sono presenti, si riceverà un errore simile al seguente 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. Se si usano agenti ospitati, passare da windows-2019 a windows-2022 (o windows-latest). Se si usano agenti self-hosted, installare Visual Studio 2022 nell'agente per ottenere una versione più recente di msdeploy.exe.
  2. Se si dipende da un'immagine dell'agente precedente e non è possibile aggiornare l'agente per la pipeline, è consigliabile suddividere il processo in modo che l'attività di distribuzione Servizio app di Azure venga eseguita in Windows-2022 (o 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à ha esito negativo con questo errore. Verificare la validità dell'entità servizio usata e controllare 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.

Errore SSL

Se si vuole usare un certificato in servizio app, il certificato deve essere firmato da un'autorità di certificazione attendibile. Se l'app Web visualizza errori di convalida del certificato, è 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 release resta bloccata a lungo e poi 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 di servizio app per aumentare la CPU, la RAM e lo spazio su disco disponibili oppure provare con un piano di servizio app diverso.

Codici errore 5xx

Se viene visualizzato un errore 5xx , controllare lo stato del servizio di Azure.

Funzione di Azure ha improvvisamente smesso di funzionare

Funzioni di Azure potrebbe smettere di funzionare improvvisamente 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: Non è stato trovato alcun pacchetto con il criterio specificato

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

Errore: l'opzione Pubblica con 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. Nell'attività Compila soluzione modificare gli argomenti di MSBuild in /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à Archivio e modificare i valori come indicato di seguito:

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

    2. Deselezionare la casella di controllo Prepend root folder name to archive paths (Nome cartella radice anteporta ai percorsi di archiviazione ):

      Screenshot che mostra i valori di Archivio.

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

Questo può essere dovuto al fatto che web.config non è presente nell'app. È possibile aggiungere un file web.config all'origine o generarne automaticamente uno 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 web.config parametri.

  • 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. Verranno popolati web.config parametri necessari per generare web.config.

Nota

Questa sezione è deprecata ed è stata sostituita con l'attività Trasformazione file .

ERROR_FILE_IN_USE

Quando si distribuiscono app .NET in App Web in Windows, la distribuzione potrebbe non riuscire con codice di errore ERROR_FILE_IN_USE. Per risolvere l'errore, assicurarsi che le opzioni Rinomina file bloccati e Take App Offline siano abilitate nell'attività. Per le distribuzioni senza tempi di inattività, effettuare lo swapping dello slot.

Per evitare il blocco delle risorse, è anche possibile usare il metodo di esecuzione dalla distribuzione del pacchetto.

Errore di distribuzione Web

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

La distribuzione dell'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 può essere diversa) dell'ambiente del servizio app interno Load Balancer (ILB). 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 un 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 nel 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 sia impostato SCM_SKIP_SSL_VALIDATION o SCM_SKIP_ASE_SSL_VALIDATION su 1 nelle impostazioni di configurazione dei servizi app.

Domande frequenti

Qual è la differenza tra le AzureWebApp attività 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 avviene nell'applicazione radice nell'app Web di Azure.

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

Nota

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 è necessario configurare la connessione al servizio?

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

Come configurare la distribuzione di processi Web con Application Insights?

Quando si esegue la distribuzione in un servizio app, se Application Insights è stato configurato ed è stato abilitato Remove additional files at destination, è necessario abilitare Exclude files from the App_Data folderanche . 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 viene installato nella cartella App_Data.

Come configurare l'agente se è dietro un proxy durante la distribuzione in 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 Azure DevOps Server tramite il proxy. Altre informazioni sull'esecuzione di un agente self-hosted dietro un proxy Web.

Esempio

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), (App Web in Linux), webAppLinux (App Web per contenitori - Linux), webAppContainerfunctionApp (App per le funzioni in Windows), functionAppLinux (App per le funzioni in Linux), functionAppContainer (App per le funzioni per contenitori - Linux), (App per le API), apiAppmobileApp (App per dispositivi mobili). Se non menzionato, 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

Distribuire 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 windows tra slot di distribuzione

Nell'esempio seguente viene distribuita un'app Web in un servizio app 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.

Questa operazione è molto utile quando si desidera 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
)

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 2.104.1 o versione successiva
Categoria attività Distribuisci

Vedi anche

  • Questa attività è open source in GitHub. Feedback e contributi sono i benvenuti.