AzureRmWebAppDeployment@4 - Azure App Service menyebarkan tugas v4

Gunakan tugas ini untuk menyebarkan Azure App Service aplikasi web, seluler, atau API menggunakan Docker, Java, .NET, .NET Core, Node.js, PHP, Python, atau Ruby.

Catatan

Gunakan AzureFunctionApp@1 untuk menyebarkan aplikasi Azure Functions.

Perbarui Azure App Services di Windows, Aplikasi Web di Linux dengan gambar bawaan atau kontainer Docker, ASP.NET, .NET Core, PHP, Python, atau aplikasi Web berbasis Node.js, Aplikasi Fungsi di Windows atau Linux dengan Kontainer Docker, Aplikasi Seluler, aplikasi API, dan Pekerjaan Web menggunakan WEB Deploy/Kudu REST API.

Sintaks

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

Input

ConnectionType - Jenis koneksi
string. Wajib diisi. Nilai yang diizinkan: AzureRM (Azure Resource Manager), PublishProfile (Terbitkan Profil). Nilai default: AzureRM.

Tentukan jenis koneksi layanan yang akan digunakan untuk menyebarkan Aplikasi Web.

Tentukan Publish Profile untuk menggunakan profil Terbitkan yang dibuat Visual Studio.


ConnectionType - Jenis koneksi
string. Wajib diisi. Nilai yang diizinkan: AzureRM (Azure Resource Manager), PublishProfile (Terbitkan Profil). Nilai default: AzureRM.

Tentukan jenis koneksi layanan yang akan digunakan untuk menyebarkan Aplikasi Web.


azureSubscription - Langganan Azure
Alias input: ConnectedServiceName. string. Diperlukan saat ConnectionType = AzureRM.

Tentukan langganan Azure Resource Manager untuk penyebaran.


PublishProfilePath - Terbitkan jalur profil
string. Diperlukan saat ConnectionType = PublishProfile. Nilai default: $(System.DefaultWorkingDirectory)/**/*.pubxml.

Jalur profil penerbitan yang dibuat dari Visual Studio.


PublishProfilePassword - Menerbitkan kata sandi profil
string. Diperlukan saat ConnectionType = PublishProfile.

Disarankan untuk menyimpan kata sandi dalam variabel rahasia dan menggunakan variabel tersebut di sini misalnya $(Password).


appType - jenis App Service
Alias input: WebAppKind. string. Diperlukan saat ConnectionType = AzureRM. Nilai yang diizinkan: webApp (Aplikasi Web di Windows), webAppLinux (Aplikasi Web di Linux), webAppContainer (Aplikasi Web untuk Kontainer (Linux)), webAppHyperVContainer (Aplikasi Web untuk Kontainer (Windows)), functionApp (Aplikasi Fungsi di Windows (Tidak Disarankan, Gunakan tugas Azure Functions)), functionAppLinux (Aplikasi Fungsi di Linux (Tidak Disarankan, Gunakan tugas Azure Functions)), functionAppContainer (Aplikasi Fungsi untuk Kontainer (Linux) (Tidak Disarankan, Gunakan Azure Functions untuk tugas kontainer)), apiApp (Aplikasi API), mobileApp (Aplikasi Seluler). Nilai default: webApp.

Pilih dari Aplikasi Web Di Windows, Aplikasi Web Di Linux, Aplikasi Web untuk Kontainer, Aplikasi Fungsi, Aplikasi Fungsi di Linux, Aplikasi Fungsi untuk Kontainer, dan Aplikasi Seluler.


appType - jenis App Service
Alias input: WebAppKind. string. Diperlukan saat ConnectionType = AzureRM. Nilai yang diizinkan: webApp (Aplikasi Web di Windows), webAppLinux (Aplikasi Web di Linux), webAppContainer (Aplikasi Web untuk Kontainer (Linux)), functionApp (Aplikasi Fungsi di Windows), functionAppLinux (Aplikasi Fungsi di Linux), functionAppContainer (Aplikasi Fungsi untuk Kontainer (Linux)), apiApp (Aplikasi API), mobileApp (Aplikasi Seluler). Nilai default: webApp.

Pilih dari Aplikasi Web Di Windows, Aplikasi Web Di Linux, Aplikasi Web untuk Kontainer, Aplikasi Fungsi, Aplikasi Fungsi di Linux, Aplikasi Fungsi untuk Kontainer, dan Aplikasi Seluler.


WebAppName - nama App Service
string. Diperlukan saat ConnectionType = AzureRM.

Tentukan nama Azure App Service yang ada. Layanan aplikasi berdasarkan jenis aplikasi yang dipilih hanya akan dicantumkan saat menggunakan tugas asisten.


deployToSlotOrASE - Menyebarkan ke Slot atau lingkungan App Service
Alias input: DeployToSlotOrASEFlag. boolean. Opsional. Gunakan saat ConnectionType = AzureRM && WebAppKind != "". Nilai default: false.

Tentukan opsi untuk menyebarkan ke slot penyebaran atau lingkungan Azure App Service yang ada. Untuk kedua target, tugas memerlukan nama Grup Sumber Daya. Jika target penyebaran adalah slot, secara default penyebarannya adalah ke slot Produksi . Nama slot lain yang ada dapat disediakan. Jika target penyebaran adalah lingkungan Azure App Service, biarkan nama slot sebagai Production dan tentukan hanya nama Grup Sumber Daya.


ResourceGroupName - Grup sumber daya
string. Diperlukan saat DeployToSlotOrASEFlag = true.

Nama Grup sumber daya diperlukan saat target penyebaran adalah slot penyebaran atau Lingkungan App Service.

Tentukan grup Sumber Daya Azure yang berisi Azure App Service yang ditentukan di atas.


SlotName - Slot
string. Diperlukan saat DeployToSlotOrASEFlag = true. Nilai default: production.

Tentukan slot yang ada selain slot Produksi.


DockerNamespace - Registri atau Namespace
string. Diperlukan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

Nama domain tingkat atas yang unik secara global untuk registri atau namespace khusus Anda. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan memiliki format: {registry or namespace}/{repository}:{tag}. Contohnya,myregistry.azurecr.io/nginx:latest.


DockerNamespace - Registri atau Namespace
string. Diperlukan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

Nama domain tingkat atas yang unik secara global untuk registri atau namespace khusus Anda. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan memiliki format: {registry or namespace}/{repository}:{tag}. Contohnya,myregistry.azurecr.io/nginx:latest.


DockerNamespace - Registri atau Namespace
string. Diperlukan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Nama domain tingkat atas yang unik secara global untuk registri atau namespace khusus Anda. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan memiliki format: {registry or namespace}/{repository}:{tag}. Contohnya,myregistry.azurecr.io/nginx:latest.


DockerRepository - Gambar
string. Diperlukan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

Nama repositori tempat gambar kontainer disimpan. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan memiliki format: {registry or namespace}/{repository}:{tag}. Contohnya,myregistry.azurecr.io/nginx:latest.


DockerRepository - Gambar
string. Diperlukan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

Nama repositori tempat gambar kontainer disimpan. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan memiliki format: {registry or namespace}/{repository}:{tag}. Contohnya,myregistry.azurecr.io/nginx:latest.


DockerRepository - Gambar
string. Diperlukan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Nama repositori tempat gambar kontainer disimpan. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan memiliki format: {registry or namespace}/{repository}:{tag}. Contohnya,myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Pilihan. Gunakan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

Tag adalah mekanisme yang digunakan registri untuk menerapkan informasi versi ke gambar Docker. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan memiliki format: {registry or namespace}/{repository}:{tag}. Contohnya,myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Pilihan. Gunakan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

Tag adalah mekanisme yang digunakan registri untuk menerapkan informasi versi ke gambar Docker. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan memiliki format: {registry or namespace}/{repository}:{tag}. Contohnya,myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Pilihan. Gunakan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Tag adalah mekanisme yang digunakan registri untuk menerapkan informasi versi ke gambar Docker. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan memiliki format: {registry or namespace}/{repository}:{tag}. Contohnya,myregistry.azurecr.io/nginx:latest.


VirtualApplication - Aplikasi virtual
string. Pilihan. Gunakan saat WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "".

Tentukan nama Aplikasi Virtual yang telah dikonfigurasi dalam portal Azure. Opsi ini tidak diperlukan untuk penyebaran ke akar situs web. Aplikasi Virtual harus telah dikonfigurasi sebelum penyebaran proyek web.


VirtualApplication - Aplikasi virtual
string. Pilihan. Gunakan saat WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "".

Tentukan nama Aplikasi Virtual yang telah dikonfigurasi dalam portal Azure. Opsi ini tidak diperlukan untuk penyebaran ke akar situs web. Aplikasi Virtual harus telah dikonfigurasi sebelum penyebaran proyek web.


packageForLinux - Paket atau folder
Alias input: Package. string. Diperlukan saat ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Nilai default: $(System.DefaultWorkingDirectory)/**/*.zip.

Jalur file ke paket, atau ke folder yang berisi konten layanan aplikasi yang dihasilkan oleh MSBuild atau file zip atau perang terkompresi.

Variabel adalah Build dan Release. Kartubebas didukung.

Misalnya, $(System.DefaultWorkingDirectory)/\*\*/\*.zip atau $(System.DefaultWorkingDirectory)/\*\*/\*.war.


RuntimeStack - Tumpukan Runtime
string. Opsional. Gunakan saat WebAppKind = webAppLinux.

Tentukan kerangka kerja dan versi untuk Aplikasi Fungsi di Linux.


RuntimeStackFunction - Tumpukan Runtime
string. Opsional. Gunakan saat WebAppKind = functionAppLinux. Nilai yang diizinkan: DOTNET|2.2 (DOTNET|2.2 (functionapp v2)), DOTNET|3.1 (DOTNET|3.1 (functionapp v3)), JAVA|8 (JAVA|8 (functionapp v2/v3)), JAVA|11 (JAVA|11 (functionapp v3)), NODE|8 (NODE|8 (functionapp v2)), NODE|10 (NODE|10 (functionapp v2/v3)), NODE|12 (NODE|12 (functionapp v3)), NODE|14 (NODE|14 (functionapp v3)), PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7 (PYTHON|3.7 (functionapp v2/v3)), PYTHON|3.8 (PYTHON|3.8 (functionapp v3)).

Tentukan kerangka kerja dan versi. Lihat ringkasan versi runtime Azure Functions untuk versi runtime yang didukung. Nilai lama seperti DOCKER|microsoft/azure-functions-* tidak digunakan lagi. Silakan gunakan nilai baru dari menu dropdown.


RuntimeStackFunction - Tumpukan Runtime
string. Opsional. Gunakan saat WebAppKind = functionAppLinux. Nilai yang diizinkan: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET), DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

Tentukan kerangka kerja dan versi.


StartupCommand - Perintah startup
string. Opsional. Gunakan saat WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer.

Tentukan perintah Startup. Contohnya:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Perintah startup
string. Opsional. Gunakan saat WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer.

Tentukan perintah Startup. Contohnya:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Perintah startup
string. Opsional. Gunakan saat WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

Tentukan perintah Startup. Contohnya:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Perintah startup
string. Opsional. Gunakan saat WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

Tentukan perintah Startup. Misalnya, dotnet rundotnet filename.dll.


StartupCommand - Perintah startup
string. Opsional. Gunakan saat WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Tentukan perintah Startup.


ScriptType - Jenis skrip penyebaran
string. Pilihan. Gunakan saat ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Nilai yang diizinkan: Inline Script, File Path (Jalur File Skrip).

Menyesuaikan penyebaran dengan menyediakan skrip yang berjalan pada Azure App Service setelah penyebaran berhasil. Pilih skrip penyebaran sebaris atau jalur dan nama file skrip. Pelajari selengkapnya tentang Penyebaran Azure App Service.


ScriptType - Jenis skrip penyebaran
string. Pilihan. Gunakan saat ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Nilai yang diizinkan: Inline Script, File Path (Jalur File Skrip).

Menyesuaikan penyebaran dengan menyediakan skrip yang berjalan pada Azure App Service setelah penyebaran berhasil. Pilih skrip penyebaran sebaris atau jalur dan nama file skrip. Pelajari selengkapnya tentang Penyebaran Azure App Service.


InlineScript - Skrip Sebaris
string. Diperlukan saat ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Nilai default: :: You can provide your deployment commands here. One command per line..

Skrip yang akan dijalankan. Anda dapat memberikan perintah penyebaran Anda di sini, satu perintah per baris. Lihat contoh berikut.


InlineScript - Skrip Sebaris
string. Diperlukan saat ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Nilai default: :: You can provide your deployment commands here. One command per line..

Skrip yang akan dijalankan. Anda dapat memberikan perintah penyebaran Anda di sini, satu perintah per baris. Lihat contoh berikut.


ScriptPath - Jalur skrip penyebaran
string. Diperlukan saat ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer.

Jalur dan nama skrip yang akan dijalankan.


ScriptPath - Jalur skrip penyebaran
string. Diperlukan saat ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer.

Jalur dan nama skrip yang akan dijalankan.


WebConfigParameters - Membuat parameter web.config untuk aplikasi Python, Node.js, Go, dan Java
string. Pilihan. Gunakan saat WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Standar Web.config akan dihasilkan dan disebarkan ke Azure App Service jika aplikasi tidak memilikinya. Nilai dalam dapat diedit web.config dan bervariasi berdasarkan kerangka kerja aplikasi. Misalnya, untuk node.js aplikasi, web.config akan memiliki file Startup dan nilai modul iis_node. Fitur edit ini hanya untuk yang dihasilkan web.config. Pelajari selengkapnya tentang Penyebaran Azure App Service.


WebConfigParameters - Membuat parameter web.config untuk aplikasi Python, Node.js, Go, dan Java
string. Pilihan. Gunakan saat WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Standar Web.config akan dihasilkan dan disebarkan ke Azure App Service jika aplikasi tidak memilikinya. Nilai dalam dapat diedit web.config dan bervariasi berdasarkan kerangka kerja aplikasi. Misalnya, untuk node.js aplikasi, web.config akan memiliki file Startup dan nilai modul iis_node. Fitur edit ini hanya untuk yang dihasilkan web.config. Pelajari selengkapnya tentang Penyebaran Azure App Service.


AppSettings - Pengaturan aplikasi
string. Pilihan. Gunakan saat ConnectionType = AzureRM.

Mengedit pengaturan aplikasi aplikasi web menggunakan sintaks -key value. Nilai yang berisi spasi harus diapit dalam tanda kutip ganda. Contoh: -Port 5000 -RequestTimeout 5000 dan -WEBSITE_TIME_ZONE "Eastern Standard Time". Untuk menyediakan dua nilai kunci atau lebih, nilai kunci harus dipisahkan oleh spasi. Contoh: -key1 "Value1" -Key2 "Value2".


ConfigurationSettings - Pengaturan konfigurasi
string. Opsional. Gunakan saat ConnectionType = AzureRM.

Mengedit pengaturan konfigurasi aplikasi web menggunakan sintaks -key value. Nilai yang berisi spasi harus diapit dalam tanda kutip ganda. Contoh: -phpVersion 5.6 -linuxFxVersion node|6.11.


enableCustomDeployment - Pilih metode penyebaran
Alias input: UseWebDeploy. boolean. Pilihan. Gunakan saat ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai default: false.

Jika tidak dicentang atau salah, tugas secara otomatis mendeteksi metode penyebaran terbaik berdasarkan jenis aplikasi, format paket, dan parameter lainnya. Centang opsi ini di asisten tugas untuk melihat metode penyebaran yang didukung, dan pilih salah satu untuk menyebarkan aplikasi Anda.


enableCustomDeployment - Pilih metode penyebaran
Alias input: UseWebDeploy. boolean. Pilihan. Gunakan saat ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai default: false.

Jika tidak dicentang atau salah, tugas secara otomatis mendeteksi metode penyebaran terbaik berdasarkan jenis aplikasi, format paket, dan parameter lainnya. Centang opsi ini di asisten tugas untuk melihat metode penyebaran yang didukung, dan pilih salah satu untuk menyebarkan aplikasi Anda.


DeploymentType - Metode penyebaran
string. Diperlukan saat UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai yang diizinkan: webDeploy (Web Deploy), zipDeploy (Zip Deploy), runFromZip (Jalankan Dari Paket). Nilai default: webDeploy.

Menentukan metode penyebaran untuk aplikasi.


DeploymentType - Metode penyebaran
string. Diperlukan saat UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai yang diizinkan: webDeploy (Web Deploy), zipDeploy (Zip Deploy), runFromZip (Jalankan Dari Paket). Nilai default: webDeploy.

Menentukan metode penyebaran untuk aplikasi.


TakeAppOfflineFlag - Ambil Aplikasi Offline
boolean. Pilihan. Gunakan saat UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai default: true.

Tentukan opsi ini untuk mengambil Azure App Service offline dengan menempatkan app_offline.htm file di direktori akar sebelum operasi sinkronisasi dimulai. File akan dihapus setelah sinkronisasi berhasil diselesaikan.


TakeAppOfflineFlag - Ambil Aplikasi Offline
boolean. Pilihan. Gunakan saat UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai default: true.

Tentukan opsi ini untuk mengambil Azure App Service offline dengan menempatkan app_offline.htm file di direktori akar sebelum operasi sinkronisasi dimulai. File akan dihapus setelah sinkronisasi berhasil diselesaikan.


SetParametersFile - File SetParameters
string. Pilihan. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar.

Lokasi file yang akan SetParameters.xml digunakan.


SetParametersFile - File SetParameters
string. Pilihan. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar.

Lokasi file yang akan SetParameters.xml digunakan.


RemoveAdditionalFilesFlag - Menghapus file tambahan di tujuan
boolean. Pilihan. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai default: false.

Tentukan 'true' untuk menghapus file pada Azure App Service yang tidak memiliki file yang cocok dalam paket atau folder App Service. Ini juga akan menghapus semua file yang terkait dengan ekstensi apa pun yang diinstal pada Azure App Service ini. Untuk mencegah hal ini, pilih kotak Exclude files from App_Data folder centang.


RemoveAdditionalFilesFlag - Menghapus file tambahan di tujuan
boolean. Pilihan. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai default: false.

Tentukan 'true' untuk menghapus file pada Azure App Service yang tidak memiliki file yang cocok dalam paket atau folder App Service. Ini juga akan menghapus semua file yang terkait dengan ekstensi apa pun yang diinstal pada Azure App Service ini. Untuk mencegah hal ini, pilih kotak Exclude files from App_Data folder centang.


ExcludeFilesFromAppDataFlag - Mengecualikan file dari folder App_Data
boolean. Pilihan. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai default: true.

Tentukan opsi untuk mencegah file dalam App_Data folder disebarkan ke/dihapus dari Azure App Service.


ExcludeFilesFromAppDataFlag - Mengecualikan file dari folder App_Data
boolean. Pilihan. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai default: true.

Tentukan opsi untuk mencegah file dalam App_Data folder disebarkan ke/dihapus dari Azure App Service.


AdditionalArguments - Argumen tambahan
string. Pilihan. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai default: -retryAttempts:6 -retryInterval:10000.

Argumen Web Deploy tambahan mengikuti sintaks -key:value. Ini akan diterapkan saat menyebarkan Azure App Service. Contoh: -disableLink:AppPoolExtension -disableLink:ContentExtension. Pelajari selengkapnya tentang Pengaturan Operasi Penyebaran Web.


AdditionalArguments - Argumen tambahan
string. Pilihan. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai default: -retryAttempts:6 -retryInterval:10000.

Argumen Web Deploy tambahan mengikuti sintaks -key:value. Ini akan diterapkan saat menyebarkan Azure App Service. Contoh: -disableLink:AppPoolExtension -disableLink:ContentExtension. Pelajari selengkapnya tentang Pengaturan Operasi Penyebaran Web.


RenameFilesFlag - Mengganti nama file terkunci
boolean. Pilihan. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai default: true.

Tentukan nilai default untuk mengaktifkan bendera MSDEPLOY_RENAME_LOCKED_FILES=1 msdeploy di pengaturan aplikasi Azure App Service. Jika diatur, opsi ini memungkinkan msdeploy untuk mengganti nama file yang dikunci selama penyebaran aplikasi.


RenameFilesFlag - Mengganti nama file terkunci
boolean. Pilihan. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Nilai default: true.

Tentukan nilai default untuk mengaktifkan bendera MSDEPLOY_RENAME_LOCKED_FILES=1 msdeploy di pengaturan aplikasi Azure App Service. Jika diatur, opsi ini memungkinkan msdeploy untuk mengganti nama file yang dikunci selama penyebaran aplikasi.


enableXmlTransform - Transformasi XML
Alias input: XmlTransformation. boolean. Pilihan. Gunakan saat WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Nilai default: false.

Transformasi konfigurasi akan dijalankan untuk *.Release.config dan *.<EnvironmentName>.config pada *.config file. Transformasi konfigurasi berjalan sebelum substitusi variabel. Transformasi XML hanya didukung untuk platform Windows.


enableXmlTransform - Transformasi XML
Alias input: XmlTransformation. boolean. Pilihan. Gunakan saat WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Nilai default: false.

Transformasi konfigurasi akan dijalankan untuk *.Release.config dan *.<EnvironmentName>.config pada *.config file. Transformasi konfigurasi berjalan sebelum substitusi variabel. Transformasi XML hanya didukung untuk platform Windows.


enableXmlVariableSubstitution - Penggantian variabel XML
Alias input: XmlVariableSubstitution. boolean. Pilihan. Gunakan saat WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Nilai default: false.

Variabel yang ditentukan dalam alur build atau rilis akan dicocokkan dengan entri kunci atau nama di configSectionsbagian , appSettings, applicationSettings, dan connectionStrings dari file dan parameters.xml file konfigurasi apa pun. Substitusi variabel berjalan setelah transformasi konfigurasi.

Jika variabel yang sama didefinisikan dalam alur rilis dan dalam tahap, variabel tahap akan menggantikan variabel alur rilis. Pelajari selengkapnya tentang [substitusi variabel XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


enableXmlVariableSubstitution - Penggantian variabel XML
Alias input: XmlVariableSubstitution. boolean. Pilihan. Gunakan saat WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Nilai default: false.

Variabel yang ditentukan dalam alur build atau rilis akan dicocokkan dengan entri kunci atau nama di configSectionsbagian , appSettings, applicationSettings, dan connectionStrings dari file dan parameters.xml file konfigurasi apa pun. Substitusi variabel berjalan setelah transformasi konfigurasi.

Jika variabel yang sama didefinisikan dalam alur rilis dan dalam tahap, variabel tahap akan menggantikan variabel alur rilis. Pelajari selengkapnya tentang [substitusi variabel XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


JSONFiles - Substitusi variabel JSON
string. Pilihan. Gunakan saat WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Menyediakan daftar file JSON yang dipisahkan baris baru untuk menggantikan nilai variabel. Nama file harus relatif terhadap folder akar. Untuk mengganti variabel JSON yang berlapis atau hierarkis, tentukan variabel tersebut menggunakan JSONPath ekspresi. Misalnya, untuk mengganti nilai ConnectionString dalam sampel di bawah ini, tentukan variabel bernama Data.DefaultConnection.ConnectionString dalam alur build atau rilis (atau tahap alur rilis).

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

Substitusi variabel berjalan setelah transformasi konfigurasi. Catatan: Variabel alur build dan rilis dikecualikan dari substitusi. Pelajari selengkapnya tentang substitusi variabel JSON.


JSONFiles - Substitusi variabel JSON
string. Pilihan. Gunakan saat WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Menyediakan daftar file JSON yang dipisahkan baris baru untuk menggantikan nilai variabel. Nama file harus relatif terhadap folder akar. Untuk mengganti variabel JSON yang berlapis atau hierarkis, tentukan variabel tersebut menggunakan JSONPath ekspresi. Misalnya, untuk mengganti nilai ConnectionString dalam sampel di bawah ini, tentukan variabel bernama Data.DefaultConnection.ConnectionString dalam alur build atau rilis (atau tahap alur rilis).

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

Substitusi variabel berjalan setelah transformasi konfigurasi. Catatan: Variabel alur build dan rilis dikecualikan dari substitusi. Pelajari selengkapnya tentang substitusi variabel JSON.


Opsi kontrol tugas

Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.

Variabel output

Tugas ini mendefinisikan variabel output berikut, yang dapat Anda konsumsi dalam langkah-langkah hilir, pekerjaan, dan tahapan.

AppServiceApplicationUrl
URL aplikasi dari App Service yang dipilih.

Keterangan

Gunakan tugas ini untuk menyebarkan ke berbagai App Services di Azure. Tugas ini berfungsi pada agen lintas platform yang menjalankan Windows, Linux, atau Mac dan menggunakan beberapa teknologi penyebaran mendasar yang berbeda.

Tugas ini berfungsi untuk aplikasi web berbasis ASP.NET, ASP.NET Core, PHP, Java, Python, Go, dan Node.js .

Tugas dapat digunakan untuk menyebarkan ke berbagai Azure App Services seperti:

Prasyarat untuk tugas

Prasyarat berikut harus disiapkan di komputer target agar tugas berfungsi dengan benar.

  • App Service instans. Tugas ini digunakan untuk menyebarkan proyek Aplikasi Web atau proyek Azure Function ke instans Azure App Service yang sudah ada, yang harus ada sebelum tugas berjalan. Instans App Service dapat dibuat dari portal Azure dan dikonfigurasi di sana. Atau, tugas Azure PowerShell dapat digunakan untuk menjalankan skrip AzureRM PowerShell untuk memprovisikan dan mengonfigurasi Aplikasi Web.

  • Langganan Azure. Untuk menyebarkan ke Azure, langganan Azure harus ditautkan ke alur. Tugas ini tidak berfungsi dengan koneksi layanan Azure Classic, dan tidak akan mencantumkan koneksi ini dalam pengaturan tugas.

Catatan penggunaan

  • Tugas ini hanya berfungsi dengan API Azure Resource Manager.
  • Untuk mengabaikan kesalahan SSL, tentukan variabel bernama VSTS_ARM_REST_IGNORE_SSL_ERRORS dengan nilai true dalam alur. Jika Anda menyebarkan ke slot yang dikonfigurasi untuk pertukaran otomatis, pertukaran akan gagal kecuali Anda mengatur SCM_SKIP_SSL_VALIDATION atau SCM_SKIP_ASE_SSL_VALIDATION ke 1 di pengaturan konfigurasi layanan aplikasi.
  • Untuk aplikasi .NET yang menargetkan Aplikasi Web di Windows, hindari kegagalan penyebaran dengan kesalahan ERROR_FILE_IN_USE dengan memastikan bahwa pengaturan Ganti nama file yang terkunci dan Ambil Aplikasi Offline diaktifkan. Untuk penyebaran waktu henti nol, gunakan opsi pertukaran slot.
  • Saat menyebarkan ke App Service yang memiliki Application Insights yang dikonfigurasi, dan Anda telah mengaktifkan Hapus file tambahan di tujuan, pastikan Anda juga mengaktifkan Kecualikan file dari folder App_Data untuk mempertahankan ekstensi Application insights dalam keadaan aman. Ini diperlukan karena pekerjaan web berkelanjutan Application Insights diinstal ke folder App_Data.

Metode penyebaran

Beberapa metode penyebaran tersedia dalam tugas ini. Web Deploy (msdeploy.exe) adalah default. Untuk mengubah opsi penyebaran, perluas Opsi Penyebaran Tambahan dan aktifkan Pilih metode penyebaran untuk memilih dari opsi penyebaran berbasis paket tambahan.

Berdasarkan jenis Azure App Service dan agen, tugas memilih teknologi penyebaran yang sesuai. Berbagai teknologi penyebaran yang digunakan oleh tugas adalah:

Secara default, tugas mencoba memilih teknologi penyebaran yang sesuai berdasarkan jenis paket input, jenis App Service, dan sistem operasi agen.

Deteksi Otomatis Logika

Untuk agen berbasis windows.

jenis App Service Jenis paket Metode penyebaran
WebApp di Linux atau Aplikasi Fungsi di Linux Folder/Zip/jar
War
Zip Deploy
War Deploy
WebApp untuk Kontainer (Linux) atau Aplikasi Fungsi untuk Kontainer (Linux) Memperbarui pengaturan Aplikasi NA
WebApp di Windows, Aplikasi Fungsi di Windows, Aplikasi API, atau Aplikasi Seluler Jenis paket War
Jar MsBuild atau sebarkan ke Folder/Zip aplikasi


virtual
Perang Sebarkan
Zip Deploy
Web Deploy

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

Pada agen non-Windows (untuk jenis App Service apa pun), tugas bergantung pada API REST Kudu untuk menyebarkan aplikasi.

Penyebaran web

Web Deploy (msdeploy.exe) dapat digunakan untuk menyebarkan Aplikasi Web di Windows atau Aplikasi Fungsi ke Azure App Service menggunakan agen Windows. Web Deploy kaya fitur dan menawarkan opsi seperti:

  • Ganti nama file yang dikunci: Ganti nama file apa pun yang masih digunakan oleh server web dengan mengaktifkan bendera MSDEPLOY\_RENAME\_LOCKED\_FILES=1 msdeploy di pengaturan Azure App Service. Opsi ini, jika diatur, memungkinkan msdeploy untuk mengganti nama file yang dikunci selama penyebaran aplikasi.

  • Hapus file tambahan di tujuan: Menghapus file di Azure App Service yang tidak memiliki file yang cocok dalam paket atau folder artefak App Service sedang disebarkan.

  • Kecualikan file dari folder App_Data: Mencegah file di folder App_Data (dalam paket/folder artefak yang sedang disebarkan) disebarkan ke Azure App Service

  • Argumen Web Deploy tambahan: Argumen yang akan diterapkan saat menyebarkan Azure App Service. Contoh: -disableLink:AppPoolExtension -disableLink:ContentExtension. Untuk contoh pengaturan operasi Web Deploy lainnya, lihat Pengaturan Operasi Penyebaran Web.

Instal Web Deploy pada agen dari Web Deploy 3.6. Web Deploy 3.5 harus diinstal tanpa dukungan SQL yang dibundel. Tidak perlu memilih pengaturan kustom apa pun saat menginstal Web Deploy. Web Deploy diinstal pada C:/Program Files (x86)/IIS/Microsoft Web Deploy V3.

REST API Kudu

REST API Kudu berfungsi pada agen otomatisasi Windows dan Linux saat target adalah Aplikasi Web di Windows, Aplikasi Web di Linux (sumber bawaan), atau Aplikasi Fungsi. Tugas ini menggunakan Kudu untuk menyalin file ke layanan Azure App.

Container Registry

Bekerja pada agen otomatisasi Windows dan Linux saat targetnya adalah Aplikasi Web untuk Kontainer. Tugas memperbarui aplikasi dengan mengatur registri kontainer, repositori, nama gambar, dan informasi tag yang sesuai. Anda juga dapat menggunakan tugas untuk meneruskan perintah startup untuk gambar kontainer.

Penyebaran Zip

Mengharapkan paket penyebaran .zip dan menyebarkan konten file ke folder wwwroot App Service atau Aplikasi Fungsi di Azure. Opsi ini menimpa semua isi yang ada di folder wwwroot . Untuk informasi selengkapnya, lihat Penyebaran Zip untuk Azure Functions.

Menjalankan dari Paket

Mengharapkan paket penyebaran yang sama dengan Zip Deploy. Namun, alih-alih menyebarkan file ke folder wwwroot , seluruh paket dipasang oleh runtime Functions dan file di folder wwwroot menjadi baca-saja. Untuk informasi selengkapnya, lihat Menjalankan Azure Functions Anda dari file paket.

Penyebaran Perang

Mengharapkan paket penyebaran .war dan menyebarkan konten file ke folder wwwroot atau folder webapps App Service di Azure.

Pemecahan Masalah

Saya tidak dapat Menyebarkan Web ke Azure App Service saya menggunakan autentikasi Microsoft Entra ID dari agen Windows saya

Tugas penyebaran Azure App Service mendukung menyambungkan ke Microsoft Azure dengan koneksi layanan ARM menggunakan Microsoft Entra ID, kecuali ada tiga kondisi berikut:

  • Anda menggunakan format paket Web Deploy pada agen Windows
  • Agen Anda berjalan dengan versi msdeploy.exe yang lebih lama (misalnya saat menggunakan gambar agen yang dihosting windows-2019 )
  • Autentikasi dasar dinonaktifkan untuk Azure App Service Anda

Jika ketiga kondisi ini ada, Anda akan menerima kesalahan seperti 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.

Untuk mengatasi masalah ini, Anda dapat memilih dari opsi berikut, dalam urutan preferensi.

  1. Perbarui gambar agen. Jika Anda menggunakan agen yang dihosting, pindahkan dari windows-2019 ke windows-2022 (atau windows-latest). Jika Anda menggunakan agen yang dihost sendiri, instal Visual Studio 2022 di agen untuk mendapatkan versi msdeploy.exeyang lebih baru.
  2. Jika Anda bergantung pada gambar agen yang lebih lama dan tidak dapat memperbarui agen untuk alur Anda, pertimbangkan untuk memisahkan pekerjaan sehingga tugas penyebaran Azure App Service berjalan pada windows-2022 (atau windows-terbaru).
  3. Jika tidak satu pun dari opsi ini dimungkinkan, Anda dapat mengaktifkan autentikasi dasar untuk Azure App Service Anda.

Kesalahan: Tidak dapat mengambil token akses untuk Azure. Verifikasi apakah Perwakilan Layanan yang digunakan valid dan tidak kedaluwarsa.

Tugas ini menggunakan perwakilan layanan dalam koneksi layanan untuk mengautentikasi dengan Azure. Jika perwakilan layanan telah kedaluwarsa atau tidak memiliki izin ke App Service, tugas gagal dengan kesalahan ini. Verifikasi validitas prinsipal layanan yang digunakan dan tersedia dalam pendaftaran aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menggunakan kontrol akses berbasis peran untuk mengelola akses ke sumber daya langganan Azure Anda. Posting blog ini juga berisi informasi lebih lanjut tentang menggunakan autentikasi perwakilan layanan.

Kesalahan SSL

Jika Anda ingin menggunakan sertifikat di App Service, sertifikat harus ditandatangani oleh otoritas sertifikat tepercaya. Jika aplikasi web memberi Anda kesalahan validasi sertifikat, Anda mungkin menggunakan sertifikat yang ditandatangani sendiri. Atur variabel bernama VSTS_ARM_REST_IGNORE_SSL_ERRORS ke nilai true dalam alur build atau rilis untuk mengatasi kesalahan.

Rilis macet untuk waktu yang lama dan kemudian gagal

Masalah ini bisa menjadi akibat dari kapasitas yang tidak mencukup dalam rencana App Service Anda. Untuk mengatasi masalah ini, Anda dapat meningkatkan instans App Service untuk meningkatkan ruang CPU, RAM, dan disk yang tersedia atau mencoba dengan paket App Service yang berbeda.

kode galat 5xx

Jika Anda melihat kesalahan 5xx , periksa status layanan Azure Anda.

Azure Function tiba-tiba berhenti berfungsi

Azure Functions mungkin tiba-tiba berhenti bekerja jika lebih dari satu tahun telah berlalu sejak penyebaran terakhir. Jika Anda menyebarkan dengan "RunFromPackage" di "deploymentMethod", SAS dengan tanggal kedaluwarsa 1 tahun dihasilkan dan ditetapkan sebagai nilai "WEBSITE_RUN_FROM_PACKAGE" dalam konfigurasi aplikasi. Azure Functions menggunakan SAS ini untuk mereferensikan file paket untuk eksekusi fungsi, jadi jika SAS telah kedaluwarsa, fungsi tidak akan dijalankan. Untuk mengatasi masalah ini, sebarkan lagi untuk menghasilkan SAS dengan tanggal kedaluwarsa satu tahun.

Kesalahan: Tidak ada paket yang ditemukan dengan pola tertentu

Periksa apakah paket yang disebutkan dalam tugas diterbitkan sebagai artefak dalam build atau tahap sebelumnya dan diunduh dalam pekerjaan saat ini.

Kesalahan: Terbitkan menggunakan opsi penyebaran zip tidak didukung untuk jenis paket msBuild

Paket web yang dibuat melalui tugas MSBuild (dengan argumen default) memiliki struktur folder berlapis yang hanya dapat disebarkan dengan benar oleh Web Deploy. Opsi penyebaran publish-to-zip tidak dapat digunakan untuk menyebarkan paket tersebut. Untuk mengonversi struktur kemasan, lakukan langkah-langkah berikut:

  1. Dalam tugas Solusi build, ubah Argumen MSBuild menjadi /p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent":

    Cuplikan layar yang memperlihatkan nilai Solusi build.

  2. Tambahkan tugas Arsip dan ubah nilai sebagai berikut:

    1. Ubah folder akar atau file untuk diarsipkan ke $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Kosongkan kotak centang Nama folder akar prepend ke jalur arsip :

      Cuplikan layar yang memperlihatkan nilai Arsip.

Penyebaran aplikasi web di Windows berhasil tetapi aplikasi tidak berfungsi

Ini mungkin karena web.config tidak ada di aplikasi Anda. Anda dapat menambahkan file web.config ke sumber Anda atau membuatnya secara otomatis menggunakan Transformasi File dan Opsi Substitusi Variabel tugas.

  • Klik tugas dan buka Membuat parameter web.config untuk aplikasi Python, Node.js, Go, dan Java.

    Cuplikan layar dialog Buat parameter web.config.

  • Klik tombol lainnya Buat parameter web.config untuk aplikasi Python, Node.js, Go, dan Java untuk mengedit parameter.

    Cuplikan layar drop-down Kerangka kerja aplikasi.

  • Pilih jenis aplikasi Anda dari menu drop-down.

  • Klik OK. Ini akan mengisi parameter web.config yang diperlukan untuk menghasilkan web.config.

Catatan

Bagian ini tidak digunakan lagi dan telah diganti dengan tugas Transformasi File .

ERROR_FILE_IN_USE

Saat menyebarkan aplikasi .NET ke Aplikasi Web di Windows, penyebaran mungkin gagal dengan kode kesalahan ERROR_FILE_IN_USE. Untuk mengatasi kesalahan, pastikan Opsi Ganti nama file terkunci dan Ambil Aplikasi Offline diaktifkan dalam tugas. Untuk penyebaran waktu henti nol, gunakan penukaran slot.

Anda juga dapat menggunakan metode penyebaran Jalankan dari Paket untuk menghindari penguncian sumber daya.

Kesalahan Penyebaran Web

Jika Anda menggunakan penyebaran web untuk menyebarkan aplikasi Anda, dalam beberapa skenario kesalahan, Penyebaran Web akan menampilkan kode galat di log. Untuk memecahkan masalah kesalahan penyebaran web, lihat Kode kesalahan Penyebaran Web.

Penyebaran aplikasi web di Lingkungan App Services (ASE) tidak berfungsi

  • Pastikan bahwa agen build Azure DevOps berada di VNET yang sama (subnet bisa berbeda) dengan Internal Load Balancer (ILB) ASE. Ini akan memungkinkan agen untuk menarik kode dari Azure DevOps dan menyebarkan ke ASE.
  • Jika Anda menggunakan Azure DevOps, agen tidak perlu dapat diakses dari internet tetapi hanya memerlukan akses keluar untuk terhubung ke Layanan Azure DevOps.
  • Jika Anda menggunakan TFS/Azure DevOps Server yang disebarkan dalam Virtual Network, agen dapat sepenuhnya terisolasi.
  • Agen build harus dikonfigurasi dengan konfigurasi DNS Aplikasi Web yang perlu disebarkannya. Karena sumber daya privat dalam Virtual Network tidak memiliki entri di Azure DNS, ini perlu ditambahkan ke file host di komputer agen.
  • Jika sertifikat yang ditandatangani sendiri digunakan untuk konfigurasi ASE, -allowUntrusted opsi perlu diatur dalam tugas penyebaran untuk MSDeploy. Disarankan juga untuk mengatur variabel VSTS_ARM_REST_IGNORE_SSL_ERRORS ke true. Jika sertifikat dari otoritas sertifikat digunakan untuk konfigurasi ASE, ini seharusnya tidak diperlukan. Jika Anda menyebarkan ke slot yang dikonfigurasi untuk pertukaran otomatis, pertukaran akan gagal kecuali Anda mengatur SCM_SKIP_SSL_VALIDATION atau SCM_SKIP_ASE_SSL_VALIDATION ke 1 dalam pengaturan konfigurasi layanan aplikasi.

Tanya Jawab Umum

Apa perbedaan antara AzureWebApp tugas dan AzureRmWebAppDeployment ?

Tugas Azure Web App (AzureWebApp) adalah cara paling sederhana untuk menyebarkan ke Azure Web App. Secara default, penyebaran Anda terjadi pada aplikasi root di Azure Web App.

Tugas Azure App Service Deploy (AzureRmWebAppDeployment) dapat menangani lebih banyak skenario kustom, seperti:

Catatan

Transformasi file dan substitusi variabel juga didukung oleh Tugas Transformasi File terpisah untuk digunakan di Azure Pipelines. Anda dapat menggunakan tugas Transformasi File untuk menerapkan transformasi file dan substitusi variabel pada file konfigurasi dan parameter apa pun.

Bagaimana cara mengonfigurasi koneksi layanan saya?

Tugas ini memerlukan koneksi layanan Azure Resource Manager.

Bagaimana cara mengonfigurasi penyebaran pekerjaan web dengan Application Insights?

Saat Anda menyebarkan ke App Service, jika Anda memiliki Application Insights yang dikonfigurasi dan Anda telah mengaktifkan Remove additional files at destination, Anda juga perlu mengaktifkan Exclude files from the App_Data folder. Mengaktifkan opsi ini membuat ekstensi Application Insights dalam keadaan aman. Langkah ini diperlukan karena WebJob berkelanjutan Application Insights diinstal ke dalam folder App_Data.

Bagaimana cara mengonfigurasi agen saya jika berada di belakang proksi saat saya menyebarkan ke App Service?

Jika agen yang dihost sendiri memerlukan proksi web, Anda dapat memberi tahu agen tentang proksi selama konfigurasi. Melakukannya memungkinkan agen Anda untuk terhubung ke Azure Pipelines atau Azure DevOps Server melalui proksi. Pelajari selengkapnya tentang menjalankan agen yang dihost sendiri di belakang proksi web.

Contoh

Menyebarkan ke jenis aplikasi tertentu

Untuk menyebarkan ke jenis aplikasi tertentu, atur appType ke salah satu nilai yang diterima berikut: webApp (Aplikasi Web di Windows), webAppLinux (Aplikasi Web di Linux), webAppContainer (Aplikasi Web untuk Kontainer - Linux), functionApp (Aplikasi Fungsi di Windows), functionAppLinux (Aplikasi Fungsi di Linux), functionAppContainer (Aplikasi Fungsi untuk Kontainer - Linux), apiApp (Aplikasi API), mobileApp (Aplikasi Seluler). Jika tidak disebutkan, webApp diambil sebagai nilai default.

Untuk mengaktifkan opsi penyebaran tingkat lanjut, tambahkan parameter enableCustomDeployment: true dan sertakan parameter berikut sesuai kebutuhan.

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

Menyebarkan ke kontainer Azure Web App Linux

Contoh YAML berikut disebarkan ke kontainer Azure Web App (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)

Menyebarkan aplikasi web ke App Service Windows di seluruh slot penyebaran

Contoh berikut menyebarkan aplikasi web ke App Service Windows di seluruh slot penyebaran.

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'

Contoh skrip penyebaran Pasca

Tugas ini menyediakan opsi untuk menyesuaikan penyebaran dengan menyediakan skrip yang akan berjalan pada Azure App Service setelah artefak aplikasi berhasil disalin ke App Service. Anda dapat memilih untuk menyediakan skrip penyebaran sebaris atau jalur dan nama file skrip di folder artefak Anda.

Ini sangat berguna ketika Anda ingin memulihkan dependensi aplikasi Anda langsung pada App Service. Memulihkan paket untuk aplikasi Node, PHP, dan python membantu menghindari batas waktu ketika dependensi aplikasi menghasilkan artefak besar yang disalin dari agen ke Azure App Service.

Contoh skrip penyebaran adalah:

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

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak ada
Kemampuan Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan.
Pembatasan perintah Apa pun
Variabel yang dapat diatur Apa pun
Versi agen 2.104.1 atau lebih tinggi
Kategori tugas Sebarkan

Lihat juga

  • Tugas ini sumber terbuka di GitHub. Umpan balik dan kontribusi juga diterima.