Compartilhar via


AzureRmWebAppDeployment@4 – Tarefa de implantação do Serviço de Aplicativo do Azure v4

Use essa tarefa para implantar no 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.

Nota

Use AzureFunctionApp@1 para implantar aplicativos do Azure Functions.

Atualize os Serviços de Aplicativo do Azure 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 a Implantação da Web/APIs REST do Kudu.

Sintaxe

# 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. Necessário. Valores permitidos: AzureRM (Azure Resource Manager), PublishProfile (Perfil de Publicação). 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 os perfis de publicação criados pelo Visual Studio.


ConnectionType - tipo de conexão
string. Necessário. Valores permitidos: AzureRM (Azure Resource Manager), PublishProfile (Perfil de Publicação). 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. Necessário quando ConnectionType = AzureRM.

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


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

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


PublishProfilePassword - Publicar senha de perfil
string. Necessá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 de Serviço de Aplicativo
Alias de entrada: WebAppKind. string. Necessá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 a Tarefa do Azure Functions)), functionAppLinux (Aplicativo de Funções no Linux (Não Recomendado, Usar Tarefa do Azure Functions)), functionAppContainer (Aplicativo de Funções para Contêineres (Linux) (Não recomendado, usar o 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 de Serviço de Aplicativo
Alias de entrada: WebAppKind. string. Necessá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 - nome do Serviço de Aplicativo
string. Necessá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 o assistente de tarefa.


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 no ambiente do Serviço de Aplicativo do Azure. Para ambos os destinos, a tarefa requer um nome de Grupo de Recursos. Se o destino da implantação for um slot, por padrão, a implantação será para o slot de de produção . Qualquer outro nome de slot existente pode ser fornecido. Se o destino de implantação for um ambiente do 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. Necessário quando DeployToSlotOrASEFlag = true.

O nome do grupo de recursos é necessário quando o destino da 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.


de slot do
string. Necessário quando DeployToSlotOrASEFlag = true. Valor padrão: production.

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


DockerNamespace - Registro ou namespace
string. Necessá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. Necessá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. Necessá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 - Image
string. Necessá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 - Image
string. Necessá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 - Image
string. Necessá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 -
string. Opcional. Use quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

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 -
string. Opcional. Use quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

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 -
string. Opcional. Use quando WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

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 deve 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 deve ter sido configurado antes da implantação do projeto Web.


pacote packageForLinux - ou de pasta
Alias de entrada: Package. string. Necessá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 de guerra.

As variáveis são de build ede versão . caracteres curinga têm suporte.

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


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

Especifique a estrutura e a versão.


RuntimeStackFunction - de 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|3.1 (functionapp v3)), JAVA|8 (JAVA|8 (functionapp v2/v3)), JAVA|11 (JAVA|11 (functionapp v3)), NODE|8 (NODE|8 (functionapp v2)), NODE|8 (NODE|8 (functionapp v2)), NODE|10NODE|8 (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 das versões de runtime do Azure Functions 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 - de 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.


de comando de inicialização do
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.


de comando de inicialização do
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.


de comando de inicialização do
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.


de comando de inicialização do
string. Opcional. Use quando WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

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


de comando de inicialização do
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 embutido ou o caminho e o nome de um arquivo de script. Saiba mais sobre de Implantação do Serviço de Aplicativo do Azure.


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 embutido ou o caminho e o nome de um arquivo de script. Saiba mais sobre de Implantação do Serviço de Aplicativo do Azure.


InlineScript - script embutido
string. Necessá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. Necessá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 de script de implantação
string. Necessá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 de script de implantação
string. Necessá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 Web.config padrão 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 aplicativos node.js, web.config terá um arquivo de inicialização e valores de módulo iis_node. Esse recurso de edição é apenas para o web.configgerado. Saiba mais sobre de Implantação do Serviço de Aplicativo do Azure.


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 Web.config padrão 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 aplicativos node.js, web.config terá um arquivo de inicialização e valores de módulo iis_node. Esse recurso de edição é apenas para o web.configgerado. Saiba mais sobre de Implantação do Serviço de Aplicativo do Azure.


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

Edita as configurações do aplicativo Web usando a sintaxe -key value. Os valores que contêm espaços devem 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 devem ser separados por um espaço. Exemplo: -key1 "Value1" -Key2 "Value2".


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

Edita as configurações de aplicativo Web usando a sintaxe -key value. Os valores que contêm espaços devem 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 no assistente de tarefas 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 no assistente de tarefas para exibir os métodos de implantação com suporte e escolha um para implantar seu aplicativo.


método de implantação DeploymentType -
string. Necessá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.


método de implantação DeploymentType -
string. Necessá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 - levar o aplicativo offline
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 arquivo app_offline.htm no diretório raiz antes do início da operação de sincronização. O arquivo será removido após a conclusão da sincronização com êxito.


TakeAppOfflineFlag - levar o aplicativo offline
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 arquivo app_offline.htm no diretório raiz antes do início da operação de sincronização. O arquivo será removido após a conclusão da sincronização com êxito.


SetParametersFile - de 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 SetParameters.xml a ser usado.


SetParametersFile - de 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 SetParameters.xml a 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 do 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 caixa de seleção Exclude files from App_Data folder.


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 do 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 caixa de seleção Exclude files from App_Data folder.


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 na pasta App_Data 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 na pasta App_Data 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 MSDEPLOY_RENAME_LOCKED_FILES=1 nas configurações do aplicativo do Serviço de Aplicativo do Azure. Se definida, a opção habilita o msdeploy a renomear 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 MSDEPLOY_RENAME_LOCKED_FILES=1 nas configurações do aplicativo do Serviço de Aplicativo do Azure. Se definida, a opção habilita o msdeploy a renomear arquivos bloqueados durante a implantação do aplicativo.


enableXmlTransform - de 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. transformações XML têm suporte apenas para a plataforma Windows.


enableXmlTransform - de 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. transformações XML têm suporte apenas para a plataforma Windows.


enableXmlVariableSubstitution - de 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 versão serão correspondidas às entradas de chave ou nome nas seções configSections, appSettings, applicationSettingse connectionStrings de qualquer arquivo de configuração e arquivo de parameters.xml. 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 versão. Saiba mais sobre [substituição de variável XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


enableXmlVariableSubstitution - de 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 versão serão correspondidas às entradas de chave ou nome nas seções configSections, appSettings, applicationSettingse connectionStrings de qualquer arquivo de configuração e arquivo de parameters.xml. 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 versão. Saiba mais sobre [substituição de variável XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


JSONFiles - de 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 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 expressões JSONPath. Por exemplo, para substituir o valor de ConnectionString no exemplo abaixo, defina uma variável chamada Data.DefaultConnection.ConnectionString no pipeline de build ou versão (ou estágio de pipelines de lançamento).

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

Uma substituição 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 de substituição de variável JSON.


JSONFiles - de 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 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 expressões JSONPath. Por exemplo, para substituir o valor de ConnectionString no exemplo abaixo, defina uma variável chamada Data.DefaultConnection.ConnectionString no pipeline de build ou versão (ou estágio de pipelines de lançamento).

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

Uma substituição 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 de substituição de variável JSON.


Opções de controle de tarefa

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

Variáveis de saída

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

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

Observações

Use essa tarefa para implantar em um intervalo de Serviços de Aplicativo 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 ASP.NET, ASP.NET Core, PHP, Java, Python, Goe aplicativos Web baseados em 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 devem 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 projeto do Azure Function em uma instância existente do Serviço de Aplicativo do Azure, que deve existir antes da execução da tarefa. A instância do Serviço de Aplicativo pode ser criada no portal do do Azure e configurada lá. Como alternativa, a tarefa Azure PowerShell pode ser usada para executar scripts do Azure PowerShell para provisionar e configurar o Aplicativo Web.

  • assinatura do Azure. Para implantar no Azure, uma assinatura do Azure deve ser vinculada ao pipeline. A tarefa não funciona com a conexão de serviço clássico do Azure e não listará essas conexões nas configurações da tarefa.

Notas 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 true de valor 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 para 1 nas configurações de 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 garantindo que Renomear arquivos bloqueados e colocar o aplicativo offline configurações estão habilitadas. Para implantação de tempo de inatividade zero, use a opção de troca de slot.
  • Ao implantar em um Serviço de Aplicativo que tenha o Application Insights configurado e você tiver habilitado Remover arquivos adicionais no destino, habilite também 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 é 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 de implantação adicionais e habilite Selecionar método de implantação escolher entre opções de implantação adicionais baseadas em pacotes.

Com base no tipo de Serviço de Aplicativo e agente do Azure, 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 do Serviço de Aplicativo e no sistema operacional do agente.

Detectar lógica automaticamente

Para agentes baseados em janelas.

Tipo de Serviço de Aplicativo Tipo de pacote Método de implantação
WebApp no Linux ou aplicativo de funções no Linux Pasta/Zip/jar
War
Implantação zip
implantação de guerra
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
jar de guerra
tipo de pacote MsBuild ou implantar no aplicativo virtual


Pasta/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 APIs REST do Kudu para implantar o aplicativo.

Implantação da Web

Implantação da Web (msdeploy.exe) pode ser usado para implantar um aplicativo Web no Windows ou em 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 do Serviço de Aplicativo do Azure. Essa opção, se definida, permite que 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 no pacote ou pasta de artefatos do Serviço de Aplicativo que está sendo implantado.

  • Excluir arquivos da pasta App_Data: Impedir 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, consulte Configurações de Operação de Implantação da Web.

Instale a Implantação da Web no agente do Web Deploy 3.6. A Implantação da Web 3.5 deve ser instalada sem o suporte ao 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.

Kudu REST APIs

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 apropriado, o repositório, o nome da imagem e as informações de marca. Você também pode usar a tarefa para passar um comando de inicialização para a imagem de contêiner.

Implantação 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, consulte implantação zip para o Azure Functions.

Executar do pacote

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

Implantação de guerra

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

Solucionando problemas

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

A tarefa de implantação do Serviço de Aplicativo do Azure dá suporte à conexão ao Microsoft Azure com uma conexão de serviço ARM usando a ID do Microsoft Entra, a menos que as três condições a seguir 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 o windows-2019 imagem do agente hospedado)
  • A autenticação básica está desabilitada para o 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 resolver 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, passe de windows-2019 para windows-2022 (ou mais recentes do Windows). 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 do Serviço de Aplicativo do Azure seja executada no windows-2022 (ou mais recente do Windows).
  3. Se nenhuma dessas opções for possível, você poderá habilitar de autenticação básica para o 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, consulte Usar o controle de acesso baseado em função para gerenciar o acesso aos recursos de 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 SSL

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

Uma versão trava por muito tempo e, em seguida, falha

Esse problema pode ser resultado de capacidade insuficiente em seu plano do 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 tentar com um plano diferente do Serviço de Aplicativo.

5 códigos de erroxx

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

A Função do Azure de repente parou de funcionar

O 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. O 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 resolver 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 é publicado como um artefato no 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 Web criados por meio da tarefa MSBuild (com argumentos padrão) têm uma estrutura de pasta aninhada que pode ser implantada corretamente somente pela Implantação da Web. A opção de implantação publicar para zip não pode ser usada para implantar esses pacotes. Para converter a estrutura de empacotamento, execute estas etapas:

  1. Na tarefa Criar solução, altere o de Argumentos do MSBuild para :

    captura de tela que mostra os valores da solução Build.

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

    1. Altere pasta raiz ou arquivo para arquivar para $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Desmarque o nome da pasta raiz Prepend para arquivar caminhos caixa de seleção:

      captura de tela que mostra os valores de Arquivo Morto.

A implantação do aplicativo Web no Windows foi bem-sucedida, mas o aplicativo não está funcionando

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

  • Clique na tarefa e vá para Gerar parâmetros de 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 Gerar web.config parâmetros para aplicativos Python, Node.js, Go e Java para editar os parâmetros.

    Captura de tela da lista suspensa da estrutura do aplicativo.

  • Selecione o tipo de aplicativo na lista suspensa.

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

Nota

Esta seção foi preterida e foi substituída pela tarefa de 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 Renomear arquivos bloqueados e opções de offline do aplicativo estão habilitadas na tarefa. Para implantações de tempo de inatividade zero, use a troca de slot.

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

Erro de implantação da Web

Se você estiver usando a implantação da Web para implantar seu aplicativo, em alguns cenários de erro, a Implantação da Web mostrará um código de erro no log. Para solucionar um erro de implantação da Web, consulte códigos de erro de implantação da Web.

A implantação de aplicativo Web no ASE (Ambiente do Serviço de Aplicativo) 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 (Balanceador de Carga 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á ser acessível pela Internet, mas precisará apenas de acesso de saída para se conectar ao Serviço de DevOps do Azure.
  • Se você estiver usando o servidor TFS/Azure DevOps 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. Se um certificado de uma autoridade de certificação for usado para a configuração do ASE, isso não deverá ser necessário. 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 de serviços de aplicativo.

Perguntas frequentes

Qual é a diferença entre as tarefas AzureWebApp 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 implantação do Serviço de Aplicativo do Azure (AzureRmWebAppDeployment) pode lidar com mais cenários personalizados, como:

Nota

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 qualquer arquivo de configuração e parâmetros.

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

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

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

Quando você estiver implantando em um Serviço de Aplicativo, se tiver Application Insights configurado e tiver habilitado Remove additional files at destination, você 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. Isso permite que seu agente se conecte ao Azure Pipelines ou ao Servidor do Azure DevOps 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 para 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 as opções de implantação avançadas, 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 Serviço de Aplicativo do Windows entre slots de implantação

O exemplo a seguir implanta um aplicativo Web em um 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 de 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
Execuções em Agent, DeploymentGroup
de demandas Nenhum
recursos Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
restrições de comando Qualquer
variáveis settable Qualquer
Versão do agente 2.104.1 ou superior
Categoria de tarefa Implantar

Consulte também