AzureRmWebAppDeployment@4 – tarefa implantar Serviço de Aplicativo do Azure v4

Use essa tarefa para implantar em Serviço de Aplicativo do Azure um aplicativo Web, móvel ou de API usando Docker, Java, .NET, .NET Core, Node.js, PHP, Python ou Ruby.

Observação

Use AzureFunctionApp@1 para implantar aplicativos Azure Functions.

Atualize Azure App Services no Windows, aplicativo Web no Linux com imagens internas ou contêineres do Docker, ASP.NET, .NET Core, PHP, Python ou aplicativos Web baseados em Node.js, Aplicativos de Funções no Windows ou Linux com Contêineres do Docker, Aplicativos Móveis, aplicativos de API e Trabalhos Web usando APIs REST de Implantação da Web/Kudu.

Syntax

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

Entradas

ConnectionType - Tipo de conexão
string. Obrigatórios. Valores permitidos: AzureRM (Azure Resource Manager), PublishProfile (Publicar Perfil). Valor padrão: AzureRM.

Especifique o tipo de conexão de serviço a ser usado para implantar o Aplicativo Web.

Especifique Publish Profile para usar perfis de Publicação criados pelo Visual Studio.


ConnectionType - Tipo de conexão
string. Obrigatórios. Valores permitidos: AzureRM (Azure Resource Manager), PublishProfile (Publicar Perfil). Valor padrão: AzureRM.

Especifique o tipo de conexão de serviço a ser usado para implantar o Aplicativo Web.


azureSubscription - Assinatura do Azure
Alias de entrada: ConnectedServiceName. string. Obrigatório quando ConnectionType = AzureRM.

Especifique a assinatura de Resource Manager do Azure para a implantação.


PublishProfilePath - Publicar caminho do perfil
string. Obrigatório quando ConnectionType = PublishProfile. Valor padrão: $(System.DefaultWorkingDirectory)/**/*.pubxml.

O caminho do perfil de publicação criado do Visual Studio.


PublishProfilePassword - Publicar senha de perfil
string. Obrigatório quando ConnectionType = PublishProfile.

É recomendável armazenar uma senha em uma variável secreta e usar essa variável aqui, por exemplo, $(Password).


appType - tipo Serviço de Aplicativo
Alias de entrada: WebAppKind. string. Obrigatório quando ConnectionType = AzureRM. Valores permitidos: webApp (Aplicativo Web no Windows), webAppLinux (Aplicativo Web no Linux), webAppContainer (Aplicativo Web para Contêineres (Linux)), webAppHyperVContainer (Aplicativo Web para Contêineres (Windows)), functionApp (Aplicativo de Funções no Windows (Não Recomendado, Usar Azure Functions Tarefa)), functionAppLinux (Aplicativo de Funções no Linux (Não Recomendado, Usar Azure Functions Tarefa)), functionAppContainer (Aplicativo de Funções para Contêineres (Linux) (Não Recomendado, Use Azure Functions para Tarefa de contêiner)), apiApp (Aplicativo de API), mobileApp (Aplicativo Móvel). Valor padrão: webApp.

Escolha entre Aplicativo Web no Windows, Aplicativo Web no Linux, Aplicativo Web para Contêineres, Aplicativo de Funções, Aplicativo de Funções no Linux, Aplicativo de Funções para Contêineres e Aplicativo Móvel.


appType - tipo Serviço de Aplicativo
Alias de entrada: WebAppKind. string. Obrigatório quando ConnectionType = AzureRM. Valores permitidos: webApp (Aplicativo Web no Windows), webAppLinux (Aplicativo Web no Linux), webAppContainer (Aplicativo Web para Contêineres (Linux)), functionApp (Aplicativo de Funções no Windows), functionAppLinux (Aplicativo de Funções no Linux), functionAppContainer (Aplicativo de Funções para Contêineres (Linux)), apiApp (Aplicativo de API), mobileApp (Aplicativo Móvel). Valor padrão: webApp.

Escolha entre Aplicativo Web no Windows, Aplicativo Web no Linux, Aplicativo Web para Contêineres, Aplicativo de Funções, Aplicativo de Funções no Linux, Aplicativo de Funções para Contêineres e Aplicativo Móvel.


WebAppName - Serviço de Aplicativo nome
string. Obrigatório quando ConnectionType = AzureRM.

Especifique o nome de um Serviço de Aplicativo do Azure existente. Os serviços de aplicativo com base no tipo de aplicativo selecionado só serão listados ao usar a tarefa assistente.


deployToSlotOrASE - Implantar no slot ou no Ambiente do Serviço de Aplicativo
Alias de entrada: DeployToSlotOrASEFlag. boolean. Opcional. Use quando ConnectionType = AzureRM && WebAppKind != "". Valor padrão: false.

Especifique a opção de implantar em um slot de implantação existente ou Serviço de Aplicativo do Azure ambiente. Para ambos os destinos, a tarefa requer um nome de Grupo de Recursos. Se o destino de implantação for um slot, por padrão, a implantação será para o slot de Produção . Qualquer outro nome de slot existente pode ser fornecido. Se o destino de implantação for um ambiente Serviço de Aplicativo do Azure, deixe o nome do slot como Production e especifique apenas o nome do Grupo de Recursos.


ResourceGroupName - Grupo de recursos
string. Obrigatório quando DeployToSlotOrASEFlag = true.

O nome do grupo de recursos é necessário quando o destino de implantação é um slot de implantação ou um Ambiente do Serviço de Aplicativo.

Especifique o grupo de recursos do Azure que contém o Serviço de Aplicativo do Azure especificado acima.


SlotName - Slot
string. Obrigatório quando DeployToSlotOrASEFlag = true. Valor padrão: production.

Especifique um slot existente diferente do slot de Produção.


DockerNamespace - Registro ou Namespace
string. Obrigatório quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

Um nome de domínio de nível superior global exclusivo para seu registro ou namespace específico. Observação: o nome da imagem totalmente qualificado será do formato: {registry or namespace}/{repository}:{tag}. Por exemplo, myregistry.azurecr.io/nginx:latest.


DockerNamespace - Registro ou Namespace
string. Obrigatório quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

Um nome de domínio de nível superior global exclusivo para seu registro ou namespace específico. Observação: o nome da imagem totalmente qualificado será do formato: {registry or namespace}/{repository}:{tag}. Por exemplo, myregistry.azurecr.io/nginx:latest.


DockerNamespace - Registro ou Namespace
string. Obrigatório quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Um nome de domínio de nível superior global exclusivo para seu registro ou namespace específico. Observação: o nome da imagem totalmente qualificado será do formato: {registry or namespace}/{repository}:{tag}. Por exemplo, myregistry.azurecr.io/nginx:latest.


DockerRepository - Imagem
string. Obrigatório quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

O nome do repositório em que as imagens de contêiner são armazenadas. Observação: o nome da imagem totalmente qualificado será do formato: {registry or namespace}/{repository}:{tag}. Por exemplo, myregistry.azurecr.io/nginx:latest.


DockerRepository - Imagem
string. Obrigatório quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

O nome do repositório em que as imagens de contêiner são armazenadas. Observação: o nome da imagem totalmente qualificado será do formato: {registry or namespace}/{repository}:{tag}. Por exemplo, myregistry.azurecr.io/nginx:latest.


DockerRepository - Imagem
string. Obrigatório quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

O nome do repositório em que as imagens de contêiner são armazenadas. Observação: o nome da imagem totalmente qualificado será do formato: {registry or namespace}/{repository}:{tag}. Por exemplo, myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Opcional. Use quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

As marcas são o mecanismo que os registros usam para aplicar informações de versão a imagens do Docker. Observação: o nome da imagem totalmente qualificado será do formato: {registry or namespace}/{repository}:{tag}. Por exemplo, myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Opcional. Use quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

As marcas são o mecanismo que os registros usam para aplicar informações de versão a imagens do Docker. Observação: o nome da imagem totalmente qualificado será do formato: {registry or namespace}/{repository}:{tag}. Por exemplo, myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Opcional. Use quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

As marcas são o mecanismo que os registros usam para aplicar informações de versão a imagens do Docker. Observação: o nome da imagem totalmente qualificado será do formato: {registry or namespace}/{repository}:{tag}. Por exemplo, myregistry.azurecr.io/nginx:latest.


VirtualApplication - Aplicativo virtual
string. Opcional. Use quando WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "".

Especifique o nome do Aplicativo Virtual que foi configurado no portal do Azure. Essa opção não é necessária para implantações na raiz do site. O Aplicativo Virtual precisa ter sido configurado antes da implantação do projeto Web.


VirtualApplication - Aplicativo virtual
string. Opcional. Use quando WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "".

Especifique o nome do Aplicativo Virtual que foi configurado no portal do Azure. Essa opção não é necessária para implantações na raiz do site. O Aplicativo Virtual precisa ter sido configurado antes da implantação do projeto Web.


packageForLinux - Pacote ou pasta
Alias de entrada: Package. string. Obrigatório quando ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Valor padrão: $(System.DefaultWorkingDirectory)/**/*.zip.

O caminho do arquivo para o pacote ou para uma pasta que contém o conteúdo do serviço de aplicativo gerado pelo MSBuild ou um arquivo zip compactado ou war.

As variáveis são Build e Release. Há suporte para curingas .

Por exemplo, $(System.DefaultWorkingDirectory)/\*\*/\*.zip ou $(System.DefaultWorkingDirectory)/\*\*/\*.war.


RuntimeStack - Pilha de runtime
string. Opcional. Use quando WebAppKind = webAppLinux.

Especifique a estrutura e a versão do Aplicativo de Funções no Linux.


RuntimeStackFunction - Pilha de runtime
string. Opcional. Use quando WebAppKind = functionAppLinux. Valores permitidos: DOTNET|2.2 (DOTNET|2.2 (functionapp v2)), DOTNET|3.1 (DOTNET|3.1 (functionapp v3)), JAVA|8 (JAVA|8 (functionapp v2/v3)), JAVA|11 (JAVA|11 (functionapp v3)), NODE|8 (NODE|8 (functionapp v2)), NODE|10 (NODE|10 (functionapp v2/v3)), NODE|12 (NODE|12 (functionapp v3)), NODE|14 (NODE|14 (functionapp v3)), PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7 (PYTHON|3.7 (functionapp v2/v3)), PYTHON|3.8 (PYTHON|3.8 (functionapp v3)).

Especifique a estrutura e a versão. Consulte a visão geral Azure Functions versões de runtime para versões de runtime com suporte. Valores antigos como DOCKER|microsoft/azure-functions-* são preteridos. Use os novos valores da lista suspensa.


RuntimeStackFunction - Pilha de runtime
string. Opcional. Use quando WebAppKind = functionAppLinux. Valores permitidos: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET), DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

Especifique a estrutura e a versão.


StartupCommand - Comando de inicialização
string. Opcional. Use quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer.

Especifique o comando Inicialização. Por exemplo:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Comando de inicialização
string. Opcional. Use quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer.

Especifique o comando Inicialização. Por exemplo:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Comando de inicialização
string. Opcional. Use quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

Especifique o comando Inicialização. Por exemplo:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Comando de inicialização
string. Opcional. Use quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

Especifique o comando Inicialização. Por exemplo, dotnet rundotnet filename.dll.


StartupCommand - Comando de inicialização
string. Opcional. Use quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Especifique o comando Inicialização.


ScriptType - Tipo de script de implantação
string. Opcional. Use quando ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Valores permitidos: Inline Script, File Path (Caminho do Arquivo de Script).

Personaliza a implantação fornecendo um script que é executado no Serviço de Aplicativo do Azure após a implantação bem-sucedida. Escolha o script de implantação em linha ou o caminho e o nome de um arquivo de script. Saiba mais sobre Serviço de Aplicativo do Azure Implantação.


ScriptType - Tipo de script de implantação
string. Opcional. Use quando ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Valores permitidos: Inline Script, File Path (Caminho do Arquivo de Script).

Personaliza a implantação fornecendo um script que é executado no Serviço de Aplicativo do Azure após a implantação bem-sucedida. Escolha o script de implantação em linha ou o caminho e o nome de um arquivo de script. Saiba mais sobre Serviço de Aplicativo do Azure Implantação.


InlineScript - Script embutido
string. Obrigatório quando ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Valor padrão: :: You can provide your deployment commands here. One command per line..

O script a ser executado. Você pode fornecer seus comandos de implantação aqui, um comando por linha. Veja o exemplo a seguir.


InlineScript - Script embutido
string. Obrigatório quando ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Valor padrão: :: You can provide your deployment commands here. One command per line..

O script a ser executado. Você pode fornecer seus comandos de implantação aqui, um comando por linha. Veja o exemplo a seguir.


ScriptPath - Caminho do script de implantação
string. Obrigatório quando ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer.

O caminho e o nome do script a ser executado.


ScriptPath - Caminho do script de implantação
string. Obrigatório quando ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer.

O caminho e o nome do script a ser executado.


WebConfigParameters - Gerar parâmetros de web.config para aplicativos Python, Node.js, Go e Java
string. Opcional. Use quando WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Um padrão Web.config será gerado e implantado no Serviço de Aplicativo do Azure se o aplicativo não tiver um. Os valores em web.config podem ser editados e variam de acordo com a estrutura do aplicativo. Por exemplo, para node.js aplicativos, web.config terá um arquivo de inicialização e iis_node valores de módulo. Esse recurso de edição é apenas para o gerado web.config. Saiba mais sobre Serviço de Aplicativo do Azure Implantação.


WebConfigParameters - Gerar parâmetros de web.config para aplicativos Python, Node.js, Go e Java
string. Opcional. Use quando WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Um padrão Web.config será gerado e implantado no Serviço de Aplicativo do Azure se o aplicativo não tiver um. Os valores em web.config podem ser editados e variam de acordo com a estrutura do aplicativo. Por exemplo, para node.js aplicativos, web.config terá um arquivo de inicialização e iis_node valores de módulo. Esse recurso de edição é apenas para o gerado web.config. Saiba mais sobre Serviço de Aplicativo do Azure Implantação.


AppSettings - Configurações do aplicativo
string. Opcional. Use quando ConnectionType = AzureRM.

Edita as configurações do aplicativo Web usando a sintaxe -key value. Nomes que contêm espaços precisam ser colocados entre aspas duplas ("). Exemplos: -Port 5000 -RequestTimeout 5000 e -WEBSITE_TIME_ZONE "Eastern Standard Time". Para fornecer dois ou mais valores de chave, os valores de chave precisam ser separados por um espaço. Exemplo: -key1 "Value1" -Key2 "Value2".


ConfigurationSettings - Definições de configuração
string. Opcional. Use quando ConnectionType = AzureRM.

Edita as definições de configuração do aplicativo Web usando a sintaxe -key value. Nomes que contêm espaços precisam ser colocados entre aspas duplas ("). Exemplo: -phpVersion 5.6 -linuxFxVersion node|6.11.


enableCustomDeployment - Selecionar método de implantação
Alias de entrada: UseWebDeploy. boolean. Opcional. Use quando ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valor padrão: false.

Se for desmarcada ou falsa, a tarefa detectará automaticamente o melhor método de implantação com base no tipo de aplicativo, no formato de pacote e em outros parâmetros. Verifique essa opção na tarefa assistente para exibir os métodos de implantação com suporte e escolha um para implantar seu aplicativo.


enableCustomDeployment - Selecionar método de implantação
Alias de entrada: UseWebDeploy. boolean. Opcional. Use quando ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valor padrão: false.

Se for desmarcada ou falsa, a tarefa detectará automaticamente o melhor método de implantação com base no tipo de aplicativo, no formato de pacote e em outros parâmetros. Verifique essa opção na tarefa assistente para exibir os métodos de implantação com suporte e escolha um para implantar seu aplicativo.


DeploymentType - Método de implantação
string. Obrigatório quando UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valores permitidos: webDeploy (Implantação da Web), zipDeploy (Implantação zip), runFromZip (Executar do pacote). Valor padrão: webDeploy.

Determina o método de implantação do aplicativo.


DeploymentType - Método de implantação
string. Obrigatório quando UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valores permitidos: webDeploy (Implantação da Web), zipDeploy (Implantação zip), runFromZip (Executar do pacote). Valor padrão: webDeploy.

Determina o método de implantação do aplicativo.


TakeAppOfflineFlag - Ficar offline do aplicativo
boolean. Opcional. Use quando UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valor padrão: true.

Especifique essa opção para colocar o Serviço de Aplicativo do Azure offline colocando um app_offline.htm arquivo no diretório raiz antes do início da operação de sincronização. O arquivo será removido depois que a sincronização for concluída com êxito.


TakeAppOfflineFlag - Ficar offline do aplicativo
boolean. Opcional. Use quando UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valor padrão: true.

Especifique essa opção para colocar o Serviço de Aplicativo do Azure offline colocando um app_offline.htm arquivo no diretório raiz antes do início da operação de sincronização. O arquivo será removido depois que a sincronização for concluída com êxito.


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

O local do arquivo a SetParameters.xml ser usado.


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

O local do arquivo a SetParameters.xml ser usado.


RemoveAdditionalFilesFlag - Remover arquivos adicionais no destino
boolean. Opcional. Use quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valor padrão: false.

Especifique 'true' para excluir arquivos no Serviço de Aplicativo do Azure que não têm arquivos correspondentes no pacote ou pasta Serviço de Aplicativo. Isso também removerá todos os arquivos relacionados a qualquer extensão instalada neste Serviço de Aplicativo do Azure. Para evitar isso, marque a Exclude files from App_Data folder caixa de seleção.


RemoveAdditionalFilesFlag - Remover arquivos adicionais no destino
boolean. Opcional. Use quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valor padrão: false.

Especifique 'true' para excluir arquivos no Serviço de Aplicativo do Azure que não têm arquivos correspondentes no pacote ou pasta Serviço de Aplicativo. Isso também removerá todos os arquivos relacionados a qualquer extensão instalada neste Serviço de Aplicativo do Azure. Para evitar isso, marque a Exclude files from App_Data folder caixa de seleção.


ExcludeFilesFromAppDataFlag - Excluir arquivos da pasta App_Data
boolean. Opcional. Use quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valor padrão: true.

Especifique a opção para impedir que arquivos App_Data na pasta sejam implantados/excluídos do Serviço de Aplicativo do Azure.


ExcludeFilesFromAppDataFlag - Excluir arquivos da pasta App_Data
boolean. Opcional. Use quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valor padrão: true.

Especifique a opção para impedir que arquivos App_Data na pasta sejam implantados/excluídos do Serviço de Aplicativo do Azure.


AdditionalArguments - Argumentos adicionais
string. Opcional. Use quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valor padrão: -retryAttempts:6 -retryInterval:10000.

Argumentos adicionais de Implantação da Web após a sintaxe -key:value. Elas serão aplicadas ao implantar o Serviço de Aplicativo do Azure. Exemplos: -disableLink:AppPoolExtension -disableLink:ContentExtension. Saiba mais sobre configurações de operação de implantação da Web.


AdditionalArguments - Argumentos adicionais
string. Opcional. Use quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valor padrão: -retryAttempts:6 -retryInterval:10000.

Argumentos adicionais de Implantação da Web após a sintaxe -key:value. Elas serão aplicadas ao implantar o Serviço de Aplicativo do Azure. Exemplos: -disableLink:AppPoolExtension -disableLink:ContentExtension. Saiba mais sobre configurações de operação de implantação da Web.


RenameFilesFlag - Renomear arquivos bloqueados
boolean. Opcional. Use quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valor padrão: true.

Especifique o valor padrão para habilitar o sinalizador MSDEPLOY_RENAME_LOCKED_FILES=1 msdeploy em Serviço de Aplicativo do Azure configurações do aplicativo. Se definida, a opção permite que msdeploy renomeie arquivos bloqueados durante a implantação do aplicativo.


RenameFilesFlag - Renomear arquivos bloqueados
boolean. Opcional. Use quando UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Valor padrão: true.

Especifique o valor padrão para habilitar o sinalizador MSDEPLOY_RENAME_LOCKED_FILES=1 msdeploy em Serviço de Aplicativo do Azure configurações do aplicativo. Se definida, a opção permite que msdeploy renomeie arquivos bloqueados durante a implantação do aplicativo.


enableXmlTransform - Transformação XML
Alias de entrada: XmlTransformation. boolean. Opcional. Use quando WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Valor padrão: false.

As transformações de configuração serão executadas para *.Release.config e *.<EnvironmentName>.config no *.config file. As transformações de configuração são executadas antes da substituição de variável. As transformações XML têm suporte apenas para a plataforma Windows.


enableXmlTransform - Transformação XML
Alias de entrada: XmlTransformation. boolean. Opcional. Use quando WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Valor padrão: false.

As transformações de configuração serão executadas para *.Release.config e *.<EnvironmentName>.config no *.config file. As transformações de configuração são executadas antes da substituição de variável. As transformações XML têm suporte apenas para a plataforma Windows.


enableXmlVariableSubstitution - Substituição de variável XML
Alias de entrada: XmlVariableSubstitution. boolean. Opcional. Use quando WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Valor padrão: false.

As variáveis definidas no pipeline de build ou lançamento serão correspondidas às entradas de chave ou nome nas configSectionsseções , appSettings, applicationSettingse connectionStrings de qualquer arquivo de configuração e parameters.xml arquivo. A substituição de variável é executada após transformações de configuração.

Se as mesmas variáveis forem definidas no pipeline de lançamento e no estágio, as variáveis de estágio substituirão as variáveis de pipeline de lançamento. Saiba mais sobre [substituição de variável XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


enableXmlVariableSubstitution - Substituição de variável XML
Alias de entrada: XmlVariableSubstitution. boolean. Opcional. Use quando WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Valor padrão: false.

As variáveis definidas no pipeline de build ou lançamento serão correspondidas às entradas de chave ou nome nas configSectionsseções , appSettings, applicationSettingse connectionStrings de qualquer arquivo de configuração e parameters.xml arquivo. A substituição de variável é executada após transformações de configuração.

Se as mesmas variáveis forem definidas no pipeline de lançamento e no estágio, as variáveis de estágio substituirão as variáveis de pipeline de lançamento. Saiba mais sobre [substituição de variável XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


JSONFiles - Substituição de variável JSON
string. Opcional. Use quando WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Fornece uma nova lista separada por linha de arquivos JSON para substituir os valores de variável. Os nomes de arquivo devem ser relativos à pasta raiz. Para substituir variáveis JSON aninhadas ou hierárquicas, especifique-as usando JSONPath expressões. Por exemplo, para substituir o valor de ConnectionString no exemplo abaixo, defina uma variável chamada Data.DefaultConnection.ConnectionString no pipeline de build ou lançamento (ou estágio de pipelines de lançamento).

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

Uma substituição de variável é executada após transformações de configuração. Observação: as variáveis de pipeline de build e lançamento são excluídas da substituição. Saiba mais sobre a substituição de variável JSON.


JSONFiles - Substituição de variável JSON
string. Opcional. Use quando WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Fornece uma nova lista separada por linha de arquivos JSON para substituir os valores de variável. Os nomes de arquivo devem ser relativos à pasta raiz. Para substituir variáveis JSON aninhadas ou hierárquicas, especifique-as usando JSONPath expressões. Por exemplo, para substituir o valor de ConnectionString no exemplo abaixo, defina uma variável chamada Data.DefaultConnection.ConnectionString no pipeline de build ou lançamento (ou estágio de pipelines de lançamento).

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

Uma substituição de variável é executada após transformações de configuração. Observação: as variáveis de pipeline de build e lançamento são excluídas da substituição. Saiba mais sobre a substituição de variável JSON.


Opções de controle da tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.

Variáveis de saída

Essa tarefa define as variáveis de saída a seguir, que você pode consumir em etapas downstream, trabalhos e estágios.

AppServiceApplicationUrl
URL do aplicativo do Serviço de Aplicativo selecionado.

Comentários

Use essa tarefa para implantar em um intervalo de Serviços de Aplicativos no Azure. A tarefa funciona em agentes multiplataforma que executam Windows, Linux ou Mac e usa várias tecnologias de implantação subjacentes diferentes.

A tarefa funciona para aplicativos Web baseados em ASP.NET, ASP.NET Core, PHP, Java, Python, Go e Node.js.

A tarefa pode ser usada para implantar em um intervalo de Serviços de Aplicativo do Azure, como:

Pré-requisitos para a tarefa

Os pré-requisitos a seguir precisam ser configurados nos computadores de destino para que a tarefa funcione corretamente.

  • Instância do Serviço de Aplicativo. A tarefa é usada para implantar um projeto de Aplicativo Web ou um projeto de Função do Azure em uma instância do Serviço de Aplicativo do Azure existente, que precisa existir antes da execução da tarefa. A instância do Serviço de Aplicativo pode ser criada por meio do portal do Azure e configurada lá. Como alternativa, a tarefa do Azure PowerShell pode ser usada para executar scripts do PowerShell do AzureRM para provisionar e configurar o aplicativo Web.

  • Assinatura do Azure. Para implantar no Azure, uma assinatura do Azure precisa estar vinculada ao pipeline. A tarefa não funciona com a conexão de serviço Clássica do Azure e não listará essas conexões nas configurações da tarefa.

Observações de uso

  • A tarefa funciona apenas com as APIs do Azure Resource Manager.
  • Para ignorar erros de SSL, defina uma variável chamada VSTS_ARM_REST_IGNORE_SSL_ERRORS com valor true no pipeline. Se você estiver implantando em um slot configurado para troca automática, a troca falhará, a menos que você defina SCM_SKIP_SSL_VALIDATION ou SCM_SKIP_ASE_SSL_VALIDATION como 1 nas definições de configuração dos serviços de aplicativo.
  • Para aplicativos .NET direcionados ao Aplicativo Web no Windows, evite a falha de implantação com o erro ERROR_FILE_IN_USE assegurando que as configurações Renomear arquivos bloqueados e Colocar o Aplicativo Offline estejam habilitadas. Para uma implantação sem nenhum tempo de inatividade, use a opção de troca de slot.
  • Ao implantar em um Serviço de Aplicativo que tem o Application Insights configurado e com a opção Remover arquivos adicionais no destino habilitada, certifique-se de também habilitar Excluir arquivos da pasta App_Data para manter a extensão do Application Insights em um estado seguro. Isso é necessário porque o trabalho Web contínuo do Application Insights está instalado na pasta App_Data.

Métodos de implantação

Vários métodos de implantação estão disponíveis nesta tarefa. A Implantação da Web (msdeploy.exe) é o padrão. Para alterar a opção de implantação, expanda Opções Adicionais de Implantação e habilite Selecionar método de implantação para escolher entre opções adicionais de implantação baseada em pacote.

Com base no tipo de Serviço de Aplicativo do Azure e de agente, a tarefa escolhe uma tecnologia de implantação adequada. As diferentes tecnologias de implantação usadas pela tarefa são:

Por padrão, a tarefa tenta selecionar a tecnologia de implantação apropriada com base no tipo de pacote de entrada, no tipo de Serviço de Aplicativo e no sistema operacional do agente.

Detecção Automática de Lógica

Para agentes baseados em Windows.

Tipo do Serviço de Aplicativo Tipo de pacote Método de implantação
WebApp no Linux ou Aplicativo de Funções no Linux Guerra de Pasta/Zip/Jar
Implantação zip war
deploy
WebApp para Contêineres (Linux) ou Aplicativo de Funções para Contêineres (Linux) Atualizar as configurações do aplicativo NA
WebApp no Windows, Aplicativo de Funções no Windows, Aplicativo de API ou Aplicativo Móvel Tipo
de pacote Do MsBuild do Jar
war ou implantar no aplicativo


virtual Folder/Zip
Implantação de
guerra implantação zip implantação
da Web

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

Em agentes que não são do Windows (para qualquer tipo de Serviço de Aplicativo), a tarefa depende das APIs REST do Kudu para implantar o aplicativo.

Implantação da Web

A Implantação da Web (msdeploy.exe) pode ser usada para implantar um aplicativo Web no Windows ou um Aplicativo de Funções no Serviço de Aplicativo do Azure usando um agente do Windows. A Implantação da Web é rica em recursos e oferece opções como:

  • Renomear arquivos bloqueados: Renomeie qualquer arquivo que ainda esteja em uso pelo servidor Web habilitando o sinalizador msdeploy MSDEPLOY\_RENAME\_LOCKED\_FILES=1 nas configurações de Serviço de Aplicativo do Azure. Quando definida, essa opção permite que o MSDeploy renomeie arquivos bloqueados durante a implantação do aplicativo.

  • Remover arquivos adicionais no destino: exclui arquivos no Serviço de Aplicativo do Azure que não têm arquivos correspondentes na pasta ou pacote de artefato do Serviço de Aplicativo que está sendo implantado.

  • Excluir arquivos da pasta App_Data: impede que arquivos na pasta App_Data (no pacote/pasta do artefato que está sendo implantado) sejam implantados no Serviço de Aplicativo do Azure

  • Argumentos adicionais de Implantação da Web: argumentos que serão aplicados ao implantar o Serviço de Aplicativo do Azure. Exemplo: -disableLink:AppPoolExtension -disableLink:ContentExtension. Para obter mais exemplos de configurações de operação de implantação da Web, confira Configurações de Operação de Implantação da Web.

Instale a Implantação da Web no agente da Implantação da Web 3.6. A Implantação da Web 3.5 precisa ser instalada sem suporte a SQL empacotado. Não é necessário escolher nenhuma configuração personalizada ao instalar a Implantação da Web. A Implantação da Web é instalada em C:/Program Files (x86)/IIS/Microsoft Web Deploy V3.

APIs REST do Kudu

As APIs REST do Kudu funcionam em agentes de automação do Windows e do Linux quando o destino é um aplicativo Web no Windows, aplicativo Web no Linux (origem interna) ou aplicativo de funções. A tarefa usa o Kudu para copiar arquivos para o Serviço de Aplicativo do Azure.

Registro de Contêiner

Funciona em agentes de automação do Windows e do Linux quando o destino é um Aplicativo Web para Contêineres. A tarefa atualiza o aplicativo definindo o registro de contêiner, o repositório, as informações de tag e o nome da imagem apropriados. Você também pode usar a tarefa para passar um comando de inicialização para a imagem de contêiner.

Implantação de zip

Espera um pacote de implantação .zip e implanta o conteúdo do arquivo na pasta wwwroot do Serviço de Aplicativo ou Aplicativo de Funções no Azure. Essa opção substitui todo o conteúdo existente na pasta wwwroot. Para obter mais informações, confira Implantação de zip para o Azure Functions.

Execução a partir do pacote

Espera o mesmo pacote de implantação que a Implantação de Zip. No entanto, em vez de implantar arquivos na pasta wwwroot, todo o pacote é montado pelo runtime do Functions e os arquivos na pasta wwwroot tornam-se somente leitura. Para obter mais informações, consulte Executar o Azure Functions de um arquivo de pacote.

Implantação de war

Espera um pacote de implantação .war e implanta o conteúdo do arquivo na pasta wwwroot ou na pasta webapps do Serviço de Aplicativo no Azure.

Solução de problemas

Não consigo implantar na Web no meu Serviço de Aplicativo do Azure usando Microsoft Entra ID autenticação do meu agente do Windows

A tarefa de implantação Serviço de Aplicativo do Azure dá suporte à conexão com o Microsoft Azure com uma conexão de serviço arm usando Microsoft Entra ID, a menos que as três seguintes condições estejam presentes:

  • Você está usando o formato de pacote de implantação da Web em um agente do Windows
  • Seu agente está em execução com uma versão mais antiga do msdeploy.exe (por exemplo, ao usar a imagem do agente hospedado windows-2019 )
  • A autenticação básica está desabilitada para seu Serviço de Aplicativo do Azure

Se essas três condições estiverem presentes, você receberá um erro como 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.

Para resolve esse problema, você pode escolher entre as opções a seguir, em ordem de preferência.

  1. Atualize a imagem do agente. Se você estiver usando agentes hospedados, mova do windows-2019 para o windows-2022 (ou windows-latest). Se você estiver usando agentes auto-hospedados, instale o Visual Studio 2022 no agente para obter uma versão mais recente do msdeploy.exe.
  2. Se você depender de uma imagem de agente mais antiga e não puder atualizar o agente para o pipeline, considere dividir o trabalho para que a tarefa de implantação Serviço de Aplicativo do Azure seja executada no windows-2022 (ou windows-latest).
  3. Se nenhuma dessas opções for possível, você poderá habilitar a autenticação básica para seu Serviço de Aplicativo do Azure.

Erro: não foi possível buscar o token de acesso para o Azure. Verifique se a entidade de serviço usada é válida e não expirou.

A tarefa usa a entidade de serviço na conexão de serviço para autenticar com o Azure. Se a entidade de serviço tiver expirado ou não tiver permissões para o Serviço de Aplicativo, a tarefa falhará com esse erro. Verifique a validade da entidade de serviço usada e se ela está presente no registro do aplicativo. Para obter mais informações, confira Usar o controle de acesso baseado em função para gerenciar o acesso aos recursos da sua assinatura do Azure. Esta postagem no blog também contém mais informações sobre como usar a autenticação da entidade de serviço.

Erro de SSL

Se você quiser usar um certificado no Serviço de Aplicativo, o certificado precisará ser assinado por uma autoridade de certificação confiável. Se o seu aplicativo Web retorna erros de validação de certificado, você provavelmente está usando um certificado autoassinado. Defina uma variável chamada VSTS_ARM_REST_IGNORE_SSL_ERRORS para o valor true no pipeline de build ou lançamento para resolver o erro.

Uma versão fica parada por muito tempo e depois falha

Esse problema pode ser resultado de capacidade insuficiente em seu plano de Serviço de Aplicativo. Para resolver esse problema, você pode escalar verticalmente a instância do Serviço de Aplicativo para aumentar a CPU, a RAM e o espaço em disco disponíveis ou pode tentar um plano diferente do Serviço de Aplicativo.

Códigos de erro 5xx

Se você estiver vendo um erro 5xx, verifique o status do serviço do Azure.

O Azure Function parou de funcionar repentinamente

Azure Functions poderá parar de funcionar repentinamente se mais de um ano tiver passado desde a última implantação. Se você implantar com "RunFromPackage" em "deploymentMethod", uma SAS com uma data de validade de 1 ano será gerada e definida como o valor de "WEBSITE_RUN_FROM_PACKAGE" na configuração do aplicativo. Azure Functions usa essa SAS para fazer referência ao arquivo de pacote para execução da função, portanto, se a SAS tiver expirado, a função não será executada. Para resolve esse problema, implante novamente para gerar uma SAS com uma data de validade de um ano.

Erro: nenhum pacote encontrado com o padrão especificado

Verifique se o pacote mencionado na tarefa está publicado como um artefato na build ou em um estágio anterior e baixado no trabalho atual.

Erro: não há suporte para publicar usando a opção de implantação zip para o tipo de pacote msBuild

Os pacotes da Web criados com a tarefa MSBuild (com argumentos padrão) têm uma estrutura de pastas aninhada que só pode ser implantada corretamente pela Implantação da Web. A opção de implantação de publicação em zip não pode ser usada para implantar esses pacotes. Para converter a estrutura de empacotamento, siga estas etapas:

  1. Na tarefa Solução de build, altere MSBuild Arguments para /p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent":

    Captura de tela que mostra os valores da Solução de build.

  2. Adicione uma tarefa Arquivar e altere os valores da seguinte maneira:

    1. Altere Pasta raiz ou documento para arquivar para $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Desmarque a caixa de seleção Prefixar nome da pasta raiz para caminhos de arquivo:

      Captura de tela que mostra os valores de Arquivo morto.

A implantação do aplicativo Web foi concluída no Windows, mas o aplicativo não está funcionando

Isso pode ocorrer porque o web.config não está presente no seu aplicativo. Você pode adicionar um arquivo web.config à origem ou gerar um automaticamente usando as Opções de Substituição de Variável e Transformações de Arquivo da tarefa.

  • Clique na tarefa e acesse Gerar parâmetros web.config para aplicativos Python, Node.js, Go e Java.

    Captura de tela da caixa de diálogo Gerar parâmetros web.config.

  • Clique no botão mais de Gerar parâmetros web.config para aplicativos Python, Node.js, Go e Java para editar os parâmetros.

    Captura de tela da lista suspensa Estrutura do aplicativo.

  • Selecione o tipo de aplicativo na lista suspensa.

  • Clique em OK. Isso preencherá os parâmetros web.config necessários para gerar web.config.

Observação

Esta seção foi preterida e foi substituída pela tarefa Transformação de Arquivo.

ERROR_FILE_IN_USE

Ao implantar aplicativos .NET no aplicativo Web no Windows, a implantação pode falhar com o código de erro ERROR_FILE_IN_USE. Para resolver o erro, verifique se as opções em Renomear arquivos bloqueados e Colocar o aplicativo offline estão habilitadas na tarefa. Para implantações sem tempo de inatividade, use a troca de slot.

Você também pode usar o método Executar na implantação do pacote para evitar o bloqueio de recursos.

Erro de Implantação da Web

Se implantar o aplicativo com a Implantação da Web, ela mostrará um código de erro em alguns cenários de erro. Para solucionar um erro de implantação da Web, consulte Códigos de erro de implantação da Web.

A implantação do aplicativo Web no Ambiente do Serviço de Aplicativo (ASE) não está funcionando

  • Verifique se o agente de build do Azure DevOps está na mesma VNET (a sub-rede pode ser diferente) que o ILB (Load Balancer Interno) do ASE. Isso permitirá que o agente efetue pull de código do Azure DevOps e implante no ASE.
  • Se você estiver usando o Azure DevOps, o agente não precisará estar acessível pela Internet, mas só precisará de acesso de saída para se conectar ao Serviço do Azure DevOps.
  • Se você estiver usando o TFS/Azure DevOps Server implantado em uma Rede Virtual, o agente poderá ser completamente isolado.
  • O agente de build deve ser configurado com a configuração DNS do Aplicativo Web no qual ele precisa implantar. Como os recursos privados na Rede Virtual não têm entradas no DNS do Azure, isso precisa ser adicionado ao arquivo de hosts no computador do agente.
  • Se um certificado autoassinado for usado para a configuração do ASE, a opção -allowUntrusted precisará ser definida na tarefa de implantação para MSDeploy. Também é recomendável definir a variável VSTS_ARM_REST_IGNORE_SSL_ERRORS como true. Isso não deverá ser necessário se um certificado de uma autoridade de certificação for usado para a configuração do ASE. Se você estiver implantando em um slot configurado para troca automática, a troca falhará, a menos que você defina SCM_SKIP_SSL_VALIDATION ou SCM_SKIP_ASE_SSL_VALIDATION para 1 nas configurações dos serviços de aplicativo.

Perguntas frequentes

Qual é a diferença entre as AzureWebApp tarefas e AzureRmWebAppDeployment ?

A tarefa aplicativo Web do Azure (AzureWebApp) é a maneira mais simples de implantar em um Aplicativo Web do Azure. Por padrão, sua implantação ocorre com o aplicativo raiz no Aplicativo Web do Azure.

A tarefa implantar Serviço de Aplicativo do Azure (AzureRmWebAppDeployment) pode lidar com mais cenários personalizados, como:

Observação

As transformações de arquivo e a substituição de variável também são compatíveis com a tarefa de Transformação de Arquivo separada para uso no Azure Pipelines. Você pode usar a tarefa Transformação de Arquivo para aplicar transformações de arquivo e substituições de variáveis em quaisquer arquivos de configuração e de parâmetros.

Como devo configurar minha conexão de serviço?

Essa tarefa exige uma conexão de serviço do Azure Resource Manager.

Como devo configurar a implantação de trabalho Web com o Application Insights?

Ao implantar em um Serviço de Aplicativo, se você tiver o Application Insights configurado e tiver habilitado Remove additional files at destination, também precisará habilitar Exclude files from the App_Data folder. Habilitar essa opção mantém a extensão do Application Insights em um estado seguro. Essa etapa é necessária porque o WebJob contínuo do Application Insights está instalado na pasta App_Data.

Como devo configurar meu agente se ele estiver por trás de um proxy enquanto estou implantando no Serviço de Aplicativo?

Se o agente auto-hospedado exigir um proxy Web, você poderá informar o agente sobre o proxy durante a configuração. Fazer isso possibilita que seu agente se conecte ao Azure Pipelines ou Azure DevOps Server por meio do proxy. Saiba mais sobre como executar um agente auto-hospedado por trás de um proxy Web.

Exemplos

Implantar em um tipo de aplicativo específico

Para implantar em um tipo de aplicativo específico, defina appType como qualquer um dos seguintes valores aceitos: webApp (Aplicativo Web no Windows), webAppLinux (Aplicativo Web no Linux), webAppContainer (Aplicativo Web para Contêineres – Linux), functionApp (Aplicativo de Funções no Windows), functionAppLinux (Aplicativo de Funções no Linux), functionAppContainer (Aplicativo de Funções para Contêineres – Linux), apiApp (Aplicativo de API), mobileApp (Aplicativo Móvel). Se não for mencionado, webApp será usado como o valor padrão.

Para habilitar qualquer opção de implantação avançada, adicione o parâmetro enableCustomDeployment: true e inclua os parâmetros a seguir, conforme necessário.

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

Implantar no contêiner do Linux do Aplicativo Web do Azure

O exemplo yaml a seguir é implantado em um contêiner do Aplicativo Web do 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)

Implantar um aplicativo Web em um windows Serviço de Aplicativo entre slots de implantação

O exemplo a seguir implanta um aplicativo Web em uma Serviço de Aplicativo do Windows entre slots de implantação.

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 pós-implantação de exemplo

A tarefa fornece uma opção para personalizar a implantação, fornecendo um script que será executado no Serviço de Aplicativo do Azure depois que os artefatos do aplicativo forem copiados com êxito para o Serviço de Aplicativo. Você pode optar por fornecer um script de implantação embutido ou o caminho e o nome de um arquivo de script na pasta do artefato.

Isso é muito útil quando você deseja restaurar as dependências do aplicativo diretamente no Serviço de Aplicativo. Restaurar pacotes para aplicativos Node, PHP e Python ajuda a evitar tempos limite quando a dependência do aplicativo resulta em um artefato grande sendo copiado do agente para o Serviço de Aplicativo do Azure.

Um exemplo de um script de implantação é:

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

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Executa em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.104.1 ou superior
Categoria da tarefa Implantar

Confira também

  • Essa tarefa é de código aberto no GitHub. Comentários e contribuições são bem-vindos.