Udostępnij za pośrednictwem


AzureRmWebAppDeployment@4 — Azure App Service wdrożyć zadanie w wersji 4

To zadanie służy do wdrażania w celu Azure App Service aplikacji internetowej, mobilnej lub interfejsu API przy użyciu platformy Docker, Java, .NET, .NET Core, Node.js, PHP, Python lub Ruby.

Uwaga

Użyj AzureFunctionApp@1, aby wdrożyć aplikacje Azure Functions.

Zaktualizuj usługi aplikacja systemu Azure w systemie Windows, aplikację internetową w systemie Linux przy użyciu wbudowanych obrazów lub kontenerów platformy Docker, ASP.NET, .NET Core, PHP, Python lub Node.js opartych na aplikacjach internetowych, aplikacjach funkcji w systemie Windows lub Linux za pomocą kontenerów platformy Docker, aplikacji mobilnych, aplikacji interfejsu API i zadań internetowych przy użyciu interfejsów API REST Web Deploy/Kudu.

Składnia

# 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.

Dane wejściowe

ConnectionType - Typ połączenia
string. Wymagane. Dozwolone wartości: AzureRM (Azure Resource Manager), PublishProfile (Profil publikowania). Wartość domyślna: AzureRM.

Określ typ połączenia usługi, który ma zostać użyty do wdrożenia aplikacji internetowej.

Określ Publish Profile , czy używasz utworzonych profilów publikowania programu Visual Studio.


ConnectionType - Typ połączenia
string. Wymagane. Dozwolone wartości: AzureRM (Azure Resource Manager), PublishProfile (Profil publikowania). Wartość domyślna: AzureRM.

Określ typ połączenia usługi, który ma zostać użyty do wdrożenia aplikacji internetowej.


azureSubscription - Subskrypcja platformy Azure
Alias wejściowy: ConnectedServiceName. string. Wymagane, gdy ConnectionType = AzureRM.

Określ subskrypcję usługi Azure Resource Manager dla wdrożenia.


PublishProfilePath - Publikowanie ścieżki profilu
string. Wymagane, gdy ConnectionType = PublishProfile. Wartość domyślna: $(System.DefaultWorkingDirectory)/**/*.pubxml.

Ścieżka profilu publikowania utworzonego na podstawie programu Visual Studio.


PublishProfilePassword - Publikowanie hasła profilu
string. Wymagane, gdy ConnectionType = PublishProfile.

Zaleca się przechowywanie hasła w zmiennej tajnej i używanie tej zmiennej w tym miejscu, np. $(Password).


appType - typ App Service
Alias wejściowy: WebAppKind. string. Wymagane, gdy ConnectionType = AzureRM. Dozwolone wartości: webApp (Aplikacja internetowa w systemie Windows), webAppLinux (Aplikacja internetowa w systemie Linux), webAppContainer (Aplikacja internetowa dla kontenerów (Linux)), webAppHyperVContainer (Aplikacja internetowa dla kontenerów (Windows)), (aplikacja funkcji w systemie Windows (niezalecane, używanie Azure Functions zadanie) functionApp ), functionAppLinux (aplikacja funkcji w systemie Linux (niezalecane, używanie Azure Functions zadanie)) functionAppContainer (Aplikacja funkcji dla kontenerów (Linux) (niezalecane użycie, używanie aplikacji funkcji w systemie Linux) Azure Functions dla zadania kontenera)), apiApp (aplikacja interfejsu API), mobileApp (aplikacja mobilna). Wartość domyślna: webApp.

Wybierz jedną z opcji Aplikacja internetowa w systemie Windows, aplikacja internetowa w systemie Linux, aplikacja internetowa dla kontenerów, aplikacja funkcji, aplikacja funkcji w systemie Linux, aplikacja funkcji dla kontenerów i aplikacja mobilna.


appType - typ App Service
Alias wejściowy: WebAppKind. string. Wymagane, gdy ConnectionType = AzureRM. Dozwolone wartości: webApp (Aplikacja internetowa w systemie Windows), webAppLinux (Aplikacja internetowa w systemie Linux), webAppContainer (Aplikacja internetowa dla kontenerów (Linux)), (Aplikacja funkcji w systemie Windows), functionAppfunctionAppLinux (Aplikacja funkcji w systemie Linux), functionAppContainer (Aplikacja funkcji dla kontenerów (Linux)), apiApp (aplikacja interfejsu API), mobileApp (aplikacja mobilna). Wartość domyślna: webApp.

Wybierz jedną z opcji Aplikacja internetowa w systemie Windows, aplikacja internetowa w systemie Linux, aplikacja internetowa dla kontenerów, aplikacja funkcji, aplikacja funkcji w systemie Linux, aplikacja funkcji dla kontenerów i aplikacja mobilna.


WebAppName - nazwa App Service
string. Wymagane, gdy ConnectionType = AzureRM.

Określ nazwę istniejącej Azure App Service. Usługi App Services oparte na wybranym typie aplikacji będą wyświetlane tylko podczas korzystania z asystent zadania.


deployToSlotOrASE - Wdrażanie w miejscu lub App Service Environment
Alias wejściowy: DeployToSlotOrASEFlag. boolean. Opcjonalny. Użyj polecenia , gdy ConnectionType = AzureRM && WebAppKind != "". Wartość domyślna: false.

Określ opcję wdrożenia w istniejącym miejscu wdrożenia lub Azure App Service środowisku. W przypadku obu obiektów docelowych zadanie wymaga nazwy grupy zasobów. Jeśli celem wdrożenia jest miejsce docelowe, domyślnie wdrożenie to miejsce produkcyjne . Można podać dowolną inną istniejącą nazwę miejsca. Jeśli celem wdrożenia jest środowisko Azure App Service, pozostaw nazwę miejsca jako Production i określ tylko nazwę grupy zasobów.


ResourceGroupName - Grupa zasobów
string. Wymagane, gdy DeployToSlotOrASEFlag = true.

Nazwa grupy zasobów jest wymagana, gdy celem wdrożenia jest miejsce wdrożenia lub App Service Environment.

Określ grupę zasobów platformy Azure zawierającą Azure App Service określone powyżej.


SlotName - Gniazdo
string. Wymagane, gdy DeployToSlotOrASEFlag = true. Wartość domyślna: production.

Określ istniejące miejsce inne niż miejsce produkcyjne.


DockerNamespace - Rejestr lub przestrzeń nazw
string. Wymagane, gdy WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

Globalnie unikatowa nazwa domeny najwyższego poziomu dla określonego rejestru lub przestrzeni nazw. Uwaga: w pełni kwalifikowana nazwa obrazu będzie mieć format: {registry or namespace}/{repository}:{tag}. Na przykład myregistry.azurecr.io/nginx:latest.


DockerNamespace - Rejestr lub przestrzeń nazw
string. Wymagane, gdy WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

Globalnie unikatowa nazwa domeny najwyższego poziomu dla określonego rejestru lub przestrzeni nazw. Uwaga: w pełni kwalifikowana nazwa obrazu będzie mieć format: {registry or namespace}/{repository}:{tag}. Na przykład myregistry.azurecr.io/nginx:latest.


DockerNamespace - Rejestr lub przestrzeń nazw
string. Wymagane, gdy WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Globalnie unikatowa nazwa domeny najwyższego poziomu dla określonego rejestru lub przestrzeni nazw. Uwaga: w pełni kwalifikowana nazwa obrazu będzie mieć format: {registry or namespace}/{repository}:{tag}. Na przykład myregistry.azurecr.io/nginx:latest.


DockerRepository - Obrazu
string. Wymagane, gdy WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

Nazwa repozytorium, w którym przechowywane są obrazy kontenerów. Uwaga: w pełni kwalifikowana nazwa obrazu będzie mieć format: {registry or namespace}/{repository}:{tag}. Na przykład myregistry.azurecr.io/nginx:latest.


DockerRepository - Obrazu
string. Wymagane, gdy WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

Nazwa repozytorium, w którym przechowywane są obrazy kontenerów. Uwaga: w pełni kwalifikowana nazwa obrazu będzie mieć format: {registry or namespace}/{repository}:{tag}. Na przykład myregistry.azurecr.io/nginx:latest.


DockerRepository - Obrazu
string. Wymagane, gdy WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Nazwa repozytorium, w którym przechowywane są obrazy kontenerów. Uwaga: w pełni kwalifikowana nazwa obrazu będzie mieć format: {registry or namespace}/{repository}:{tag}. Na przykład myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Opcjonalny. Użyj polecenia , gdy WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

Tagi są mechanizmem używanym przez rejestry do stosowania informacji o wersji do obrazów platformy Docker. Uwaga: w pełni kwalifikowana nazwa obrazu będzie mieć format: {registry or namespace}/{repository}:{tag}. Na przykład myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Opcjonalny. Użyj polecenia , gdy WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

Tagi to mechanizm używany przez rejestry do stosowania informacji o wersji do obrazów platformy Docker. Uwaga: w pełni kwalifikowana nazwa obrazu będzie mieć format: {registry or namespace}/{repository}:{tag}. Na przykład myregistry.azurecr.io/nginx:latest.


DockerImageTag - Tag
string. Opcjonalny. Użyj polecenia , gdy WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Tagi to mechanizm używany przez rejestry do stosowania informacji o wersji do obrazów platformy Docker. Uwaga: w pełni kwalifikowana nazwa obrazu będzie mieć format: {registry or namespace}/{repository}:{tag}. Na przykład myregistry.azurecr.io/nginx:latest.


VirtualApplication - Aplikacja wirtualna
string. Opcjonalny. Użyj polecenia , gdy WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "".

Określ nazwę aplikacji wirtualnej, która została skonfigurowana w Azure Portal. Ta opcja nie jest wymagana w przypadku wdrożeń w katalogu głównym witryny sieci Web. Aplikacja wirtualna musi zostać skonfigurowana przed wdrożeniem projektu internetowego.


VirtualApplication - Aplikacja wirtualna
string. Opcjonalny. Użyj polecenia , gdy WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "".

Określ nazwę aplikacji wirtualnej, która została skonfigurowana w Azure Portal. Ta opcja nie jest wymagana w przypadku wdrożeń w katalogu głównym witryny sieci Web. Aplikacja wirtualna musi zostać skonfigurowana przed wdrożeniem projektu internetowego.


packageForLinux - Pakiet lub folder
Alias wejściowy: Package. string. Wymagane, gdy ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Wartość domyślna: $(System.DefaultWorkingDirectory)/**/*.zip.

Ścieżka pliku do pakietu lub folderu zawierającego zawartość usługi App Service wygenerowaną przez program MSBuild lub skompresowany plik zip lub war.

Zmienne to kompilacja i wydanie. Obsługiwane są symbole wieloznaczne.

Na przykład: $(System.DefaultWorkingDirectory)/\*\*/\*.zip lub $(System.DefaultWorkingDirectory)/\*\*/\*.war.


RuntimeStack - Stos środowiska uruchomieniowego
string. Opcjonalny. Użyj polecenia , gdy WebAppKind = webAppLinux.

Określ strukturę i wersję aplikacji funkcji w systemie Linux.


RuntimeStackFunction - Stos środowiska uruchomieniowego
string. Opcjonalny. Użyj polecenia , gdy WebAppKind = functionAppLinux. Dozwolone wartości: DOTNET|2.2 (DOTNET|2.2 (aplikacja funkcji w wersji 2)), DOTNET|3.1 (DOTNET|3.1 (aplikacja funkcji w wersji 3)), JAVA|8 (JAVA|8 (aplikacja funkcji w wersji 2/v3)), JAVA|11 (JAVA|11 (aplikacja funkcji w wersji 3)), NODE|8 (NODE|8 (aplikacja funkcji w wersji 2)), NODE|10 (NODE|10 (aplikacja funkcji v3) 2/v3)), NODE|12 (NODE|12 (functionapp v3)), NODE|14 (NODE|14 (functionapp v3)), PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7 (PYTHON|3.7 (functionapp v2/v3)), PYTHON|3.8 (PYTHON|3.8 (functionapp v3)).

Określ strukturę i wersję. Zapoznaj się z omówieniem wersji środowiska uruchomieniowego Azure Functions, aby zapoznać się z obsługiwanymi wersjami środowiska uruchomieniowego. Stare wartości, takie jak DOCKER|microsoft/azure-functions-* , są przestarzałe. Użyj nowych wartości z listy rozwijanej.


RuntimeStackFunction - Stos środowiska uruchomieniowego
string. Opcjonalny. Użyj polecenia , gdy WebAppKind = functionAppLinux. Dozwolone wartości: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET), DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

Określ strukturę i wersję.


StartupCommand - Polecenie uruchamiania
string. Opcjonalny. Użyj polecenia , gdy WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer.

Określ polecenie Uruchamiania. Na przykład:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Polecenie uruchamiania
string. Opcjonalny. Użyj polecenia , gdy WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer.

Określ polecenie Uruchamiania. Na przykład:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Polecenie uruchamiania
string. Opcjonalny. Użyj polecenia , gdy WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

Określ polecenie Uruchamiania. Na przykład:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - Polecenie uruchamiania
string. Opcjonalny. Użyj polecenia , gdy WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

Określ polecenie Uruchamiania. Na przykład dotnet rundotnet filename.dll.


StartupCommand - Polecenie uruchamiania
string. Opcjonalny. Użyj polecenia , gdy WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

Określ polecenie Uruchamiania.


ScriptType - Typ skryptu wdrożenia
string. Opcjonalny. Użyj polecenia , gdy ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Dozwolone wartości: Inline Script, File Path (Ścieżka pliku skryptu).

Dostosowuje wdrożenie przez podanie skryptu uruchamianego na Azure App Service po pomyślnym wdrożeniu. Wybierz wbudowany skrypt wdrożenia lub ścieżkę i nazwę pliku skryptu. Dowiedz się więcej o Azure App Service Deployment.


ScriptType - Typ skryptu wdrożenia
string. Opcjonalny. Użyj polecenia , gdy ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Dozwolone wartości: Inline Script, File Path (Ścieżka pliku skryptu).

Dostosowuje wdrożenie przez podanie skryptu uruchamianego na Azure App Service po pomyślnym wdrożeniu. Wybierz wbudowany skrypt wdrożenia lub ścieżkę i nazwę pliku skryptu. Dowiedz się więcej o Azure App Service Deployment.


InlineScript - Skrypt wbudowany
string. Wymagane, gdy ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Wartość domyślna: :: You can provide your deployment commands here. One command per line..

Skrypt do wykonania. W tym miejscu możesz podać polecenia wdrożenia— jedno polecenie na wiersz. Zobacz poniższy przykład.


InlineScript - Skrypt wbudowany
string. Wymagane, gdy ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Wartość domyślna: :: You can provide your deployment commands here. One command per line..

Skrypt do wykonania. W tym miejscu możesz podać polecenia wdrożenia— jedno polecenie na wiersz. Zobacz poniższy przykład.


ScriptPath - Ścieżka skryptu wdrożenia
string. Wymagane, gdy ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer.

Ścieżka i nazwa skryptu do wykonania.


ScriptPath - Ścieżka skryptu wdrożenia
string. Wymagane, gdy ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer.

Ścieżka i nazwa skryptu do wykonania.


WebConfigParameters - Generowanie parametrów web.config dla aplikacji Python, Node.js, Go i Java
string. Opcjonalny. Użyj polecenia , gdy WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Standard Web.config zostanie wygenerowany i wdrożony w Azure App Service, jeśli aplikacja jej nie ma. Wartości w programie web.config można edytować i różnić w zależności od struktury aplikacji. Na przykład w przypadku node.js aplikacji web.config będzie zawierać plik startowy i iis_node wartości modułu. Ta funkcja edycji dotyczy tylko wygenerowanego web.configelementu . Dowiedz się więcej o Azure App Service Deployment.


WebConfigParameters - Generowanie parametrów web.config dla aplikacji Python, Node.js, Go i Java
string. Opcjonalny. Użyj polecenia , gdy WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Standard Web.config zostanie wygenerowany i wdrożony w Azure App Service, jeśli aplikacja jej nie ma. Wartości w programie web.config można edytować i różnić w zależności od struktury aplikacji. Na przykład w przypadku node.js aplikacji web.config będzie zawierać plik startowy i iis_node wartości modułu. Ta funkcja edycji dotyczy tylko wygenerowanego web.configelementu . Dowiedz się więcej o Azure App Service Deployment.


AppSettings - Ustawienia aplikacji
string. Opcjonalny. Użyj polecenia , gdy ConnectionType = AzureRM.

Edytuje ustawienia aplikacji internetowej przy użyciu składni -key value. Wartości zawierające spacje muszą być ujęte w cudzysłów podwójnych. Przykłady: -Port 5000 -RequestTimeout 5000 i -WEBSITE_TIME_ZONE "Eastern Standard Time". Aby podać co najmniej dwie wartości klucza, wartości klucza muszą być oddzielone spacją. Przykład: -key1 "Value1" -Key2 "Value2".


ConfigurationSettings - Ustawienia konfiguracji
string. Opcjonalny. Użyj polecenia , gdy ConnectionType = AzureRM.

Edytuje ustawienia konfiguracji aplikacji internetowej przy użyciu składni -key value. Wartości zawierające spacje muszą być ujęte w cudzysłów podwójnych. Przykład: -phpVersion 5.6 -linuxFxVersion node|6.11.


enableCustomDeployment - Wybierz metodę wdrażania
Alias wejściowy: UseWebDeploy. boolean. Opcjonalny. Użyj polecenia , gdy ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Wartość domyślna: false.

W przypadku niezaznaczonego lub fałszywego zadanie automatycznie wykrywa najlepszą metodę wdrażania na podstawie typu aplikacji, formatu pakietu i innych parametrów. Zaznacz tę opcję w zadaniu asystent, aby wyświetlić obsługiwane metody wdrażania, a następnie wybierz jedną z nich do wdrożenia aplikacji.


enableCustomDeployment - Wybierz metodę wdrażania
Alias wejściowy: UseWebDeploy. boolean. Opcjonalny. Użyj polecenia , gdy ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Wartość domyślna: false.

W przypadku niezaznaczonego lub fałszywego zadanie automatycznie wykrywa najlepszą metodę wdrażania na podstawie typu aplikacji, formatu pakietu i innych parametrów. Zaznacz tę opcję w zadaniu asystent, aby wyświetlić obsługiwane metody wdrażania, a następnie wybierz jedną z nich do wdrożenia aplikacji.


DeploymentType - Metoda wdrażania
string. Wymagane, gdy UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Dozwolone wartości: webDeploy (Web Deploy), zipDeploy (Zip Deploy), runFromZip (Uruchom z pakietu). Wartość domyślna: webDeploy.

Określa metodę wdrażania aplikacji.


DeploymentType - Metoda wdrażania
string. Wymagane, gdy UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Dozwolone wartości: webDeploy (Web Deploy), zipDeploy (Zip Deploy), runFromZip (Uruchom z pakietu). Wartość domyślna: webDeploy.

Określa metodę wdrażania aplikacji.


TakeAppOfflineFlag - Przełącz aplikację w tryb offline
boolean. Opcjonalny. Użyj polecenia , gdy UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Wartość domyślna: true.

Określ tę opcję, aby przełączyć Azure App Service w tryb offline, umieszczając app_offline.htm plik w katalogu głównym przed rozpoczęciem operacji synchronizacji. Plik zostanie usunięty po pomyślnym zakończeniu synchronizacji.


TakeAppOfflineFlag - Przełącz aplikację w tryb offline
boolean. Opcjonalny. Użyj polecenia , gdy UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Wartość domyślna: true.

Określ tę opcję, aby przełączyć Azure App Service w tryb offline, umieszczając app_offline.htm plik w katalogu głównym przed rozpoczęciem operacji synchronizacji. Plik zostanie usunięty po pomyślnym zakończeniu synchronizacji.


SetParametersFile - Plik SetParameters
string. Opcjonalny. Użyj polecenia , gdy UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar.

Lokalizacja SetParameters.xml pliku do użycia.


SetParametersFile - Plik SetParameters
string. Opcjonalny. Użyj polecenia , gdy UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar.

Lokalizacja SetParameters.xml pliku do użycia.


RemoveAdditionalFilesFlag - Usuwanie dodatkowych plików w lokalizacji docelowej
boolean. Opcjonalny. Użyj polecenia , gdy UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Wartość domyślna: false.

Określ wartość "true", aby usunąć pliki w Azure App Service, które nie mają pasujących plików w pakiecie lub folderze App Service. Spowoduje to również usunięcie wszystkich plików powiązanych z dowolnym rozszerzeniem zainstalowanym na tym Azure App Service. Aby temu zapobiec, zaznacz Exclude files from App_Data folder pole wyboru.


RemoveAdditionalFilesFlag - Usuwanie dodatkowych plików w lokalizacji docelowej
boolean. Opcjonalny. Użyj polecenia , gdy UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Wartość domyślna: false.

Określ wartość "true", aby usunąć pliki w Azure App Service, które nie mają pasujących plików w pakiecie lub folderze App Service. Spowoduje to również usunięcie wszystkich plików powiązanych z dowolnym rozszerzeniem zainstalowanym na tym Azure App Service. Aby temu zapobiec, zaznacz Exclude files from App_Data folder pole wyboru.


ExcludeFilesFromAppDataFlag - Wykluczanie plików z folderu App_Data
boolean. Opcjonalny. Użyj polecenia , gdy UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Wartość domyślna: true.

Określ opcję zapobiegania wdrażaniu App_Data plików w folderze do/usunięcia z Azure App Service.


ExcludeFilesFromAppDataFlag - Wykluczanie plików z folderu App_Data
boolean. Opcjonalny. Użyj polecenia , gdy UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Wartość domyślna: true.

Określ opcję zapobiegania wdrażaniu App_Data plików w folderze do/usunięcia z Azure App Service.


AdditionalArguments - Dodatkowe argumenty
string. Opcjonalny. Użyj polecenia , gdy UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Wartość domyślna: -retryAttempts:6 -retryInterval:10000.

Dodatkowe argumenty narzędzia Web Deploy zgodnie ze składnią -key:value. Zostaną one zastosowane podczas wdrażania Azure App Service. Przykłady: -disableLink:AppPoolExtension -disableLink:ContentExtension. Dowiedz się więcej o ustawieniach operacji narzędzia Web Deploy.


AdditionalArguments - Dodatkowe argumenty
string. Opcjonalny. Użyj polecenia , gdy UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Wartość domyślna: -retryAttempts:6 -retryInterval:10000.

Dodatkowe argumenty narzędzia Web Deploy zgodnie ze składnią -key:value. Zostaną one zastosowane podczas wdrażania Azure App Service. Przykłady: -disableLink:AppPoolExtension -disableLink:ContentExtension. Dowiedz się więcej o ustawieniach operacji narzędzia Web Deploy.


RenameFilesFlag - Zmienianie nazwy zablokowanych plików
boolean. Opcjonalny. Użyj polecenia , gdy UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Wartość domyślna: true.

Określ wartość domyślną, aby włączyć flagę MSDEPLOY_RENAME_LOCKED_FILES=1 msdeploy w ustawieniach aplikacji Azure App Service. W przypadku ustawienia ta opcja umożliwia witrynie msdeploy zmianę nazw plików, które są zablokowane podczas wdrażania aplikacji.


RenameFilesFlag - Zmienianie nazwy zablokowanych plików
boolean. Opcjonalny. Użyj polecenia , gdy UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Wartość domyślna: true.

Określ wartość domyślną, aby włączyć flagę MSDEPLOY_RENAME_LOCKED_FILES=1 msdeploy w ustawieniach aplikacji Azure App Service. W przypadku ustawienia ta opcja umożliwia witrynie msdeploy zmianę nazw plików, które są zablokowane podczas wdrażania aplikacji.


enableXmlTransform - Przekształcanie XML
Alias wejściowy: XmlTransformation. boolean. Opcjonalny. Użyj polecenia , gdy WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Wartość domyślna: false.

Przekształcenia konfiguracji zostaną uruchomione dla *.Release.config elementów i *.<EnvironmentName>.config w pliku *.config file. Przekształcenia konfiguracji są uruchamiane przed zastąpieniem zmiennych. Przekształcenia XML są obsługiwane tylko dla platformy Windows.


enableXmlTransform - Przekształcanie XML
Alias wejściowy: XmlTransformation. boolean. Opcjonalny. Użyj polecenia , gdy WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Wartość domyślna: false.

Przekształcenia konfiguracji zostaną uruchomione dla *.Release.config elementów i *.<EnvironmentName>.config w pliku *.config file. Przekształcenia konfiguracji są uruchamiane przed zastąpieniem zmiennych. Przekształcenia XML są obsługiwane tylko dla platformy Windows.


enableXmlVariableSubstitution - Podstawianie zmiennych XML
Alias wejściowy: XmlVariableSubstitution. boolean. Opcjonalny. Użyj polecenia , gdy WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Wartość domyślna: false.

Zmienne zdefiniowane w potoku kompilacji lub wydania będą dopasowywane do wpisów klucza lub nazwy w configSectionssekcjach , appSettings, applicationSettingsi connectionStrings dowolnego pliku konfiguracji i parameters.xml pliku. Podstawianie zmiennych jest uruchamiane po przekształceniach konfiguracji.

Jeśli te same zmienne są zdefiniowane w potoku wydania i na etapie, zmienne etapu zastąpią zmienne potoku wydania. Dowiedz się więcej o [podstawieniu zmiennych XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


enableXmlVariableSubstitution - Podstawianie zmiennych XML
Alias wejściowy: XmlVariableSubstitution. boolean. Opcjonalny. Użyj polecenia , gdy WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Wartość domyślna: false.

Zmienne zdefiniowane w potoku kompilacji lub wydania będą dopasowywane do wpisów klucza lub nazwy w configSectionssekcjach , appSettings, applicationSettingsi connectionStrings dowolnego pliku konfiguracji i parameters.xml pliku. Podstawianie zmiennych jest uruchamiane po przekształceniach konfiguracji.

Jeśli te same zmienne są zdefiniowane w potoku wydania i na etapie, zmienne etapu zastąpią zmienne potoku wydania. Dowiedz się więcej o [podstawieniu zmiennych XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


JSONFiles - Podstawianie zmiennych JSON
string. Opcjonalny. Użyj polecenia , gdy WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Udostępnia listę plików JSON rozdzielanych nową linią w celu zastąpienia wartości zmiennych. Nazwy plików muszą być względne względem folderu głównego. Aby zastąpić zmienne JSON, które są zagnieżdżone lub hierarchiczne, określ je przy użyciu JSONPath wyrażeń. Aby na przykład zastąpić wartość ConnectionString w poniższym przykładzie, zdefiniuj zmienną o nazwie Data.DefaultConnection.ConnectionString w potoku kompilacji lub wydania (lub potoki wydania).

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

Podstawianie zmiennych jest uruchamiane po przekształceniach konfiguracji. Uwaga: zmienne potoku kompilacji i wydania są wykluczone z podstawienia. Dowiedz się więcej o podstawieniu zmiennych JSON.


JSONFiles - Podstawianie zmiennych JSON
string. Opcjonalny. Użyj polecenia , gdy WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

Udostępnia listę plików JSON rozdzielanych nową linią w celu zastąpienia wartości zmiennych. Nazwy plików muszą być względne względem folderu głównego. Aby zastąpić zmienne JSON, które są zagnieżdżone lub hierarchiczne, określ je przy użyciu JSONPath wyrażeń. Aby na przykład zastąpić wartość ConnectionString w poniższym przykładzie, zdefiniuj zmienną o nazwie Data.DefaultConnection.ConnectionString w potoku kompilacji lub wydania (lub potoki wydania).

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

Podstawianie zmiennych jest uruchamiane po przekształceniach konfiguracji. Uwaga: zmienne potoku kompilacji i wydania są wykluczone z podstawienia. Dowiedz się więcej o podstawieniu zmiennych JSON.


Opcje sterowania zadania

Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.

Zmienne wyjściowe

To zadanie definiuje następujące zmienne wyjściowe, które można używać w krokach podrzędnych, zadaniach i etapach.

AppServiceApplicationUrl
Adres URL aplikacji wybranego App Service.

Uwagi

To zadanie służy do wdrażania w wielu usługach App Services na platformie Azure. Zadanie działa na agentach międzyplatformowych z systemem Windows, Linux lub Mac i korzysta z kilku różnych podstawowych technologii wdrażania.

Zadanie działa dla aplikacji internetowych opartych na ASP.NET, ASP.NET Core, PHP, Java, Python, Go i Node.js.

Zadanie może służyć do wdrażania w wielu usługach aplikacja systemu Azure, takich jak:

Wymagania wstępne dotyczące zadania

Aby zadanie działało prawidłowo, należy skonfigurować następujące wymagania wstępne na maszynach docelowych.

  • App Service wystąpienie. Zadanie służy do wdrażania projektu aplikacji internetowej lub projektu funkcji platformy Azure w istniejącym wystąpieniu Azure App Service, które musi istnieć przed uruchomieniem zadania. Wystąpienie App Service można utworzyć na podstawie Azure Portal i skonfigurować je tam. Alternatywnie zadanie Azure PowerShell może służyć do uruchamiania skryptów programu PowerShell modułu AzureRM w celu aprowizowania i konfigurowania aplikacji internetowej.

  • Subskrypcja platformy Azure. Aby wdrożyć na platformie Azure, subskrypcja platformy Azure musi być połączona z potokiem. Zadanie nie działa z połączeniem usługi klasycznej platformy Azure i nie wyświetli listy tych połączeń w ustawieniach zadania.

Uwagi dotyczące użycia

  • Zadanie działa tylko z interfejsami API usługi Azure Resource Manager.
  • Aby zignorować błędy PROTOKOŁU SSL, zdefiniuj zmienną o nazwie VSTS_ARM_REST_IGNORE_SSL_ERRORS z wartością true w potoku. Jeśli wdrażasz w miejscu skonfigurowanym do zamiany automatycznej, zamiana zakończy się niepowodzeniem, chyba że ustawiono SCM_SKIP_SSL_VALIDATION lub SCM_SKIP_ASE_SSL_VALIDATION ustawiono 1 w ustawieniach konfiguracji usług App Services.
  • W przypadku aplikacji platformy .NET przeznaczonych dla aplikacji internetowej w systemie Windows unikaj niepowodzenia wdrażania z powodu błędu ERROR_FILE_IN_USE , upewniając się, że włączono ustawienie Zmień nazwę zablokowanych plików i Przełącz aplikację w tryb offline . W przypadku wdrożenia bez przestojów użyj opcji zamiany miejsca.
  • Podczas wdrażania w App Service, który ma skonfigurowaną usługę Application Insights i włączono opcję Usuń dodatkowe pliki w miejscu docelowym, upewnij się, że włączono również opcję Wykluczanie plików z folderu App_Data w celu zachowania rozszerzenia usługi Application Insights w bezpiecznym stanie. Jest to wymagane, ponieważ zadanie ciągłej sieci Web usługi Application Insights jest zainstalowane w folderze App_Data.

Metody wdrażania

W tym zadaniu jest dostępnych kilka metod wdrażania. Web Deploy (msdeploy.exe) jest wartością domyślną. Aby zmienić opcję wdrożenia, rozwiń pozycję Dodatkowe opcje wdrażania i włącz opcję Wybierz metodę wdrażania , aby wybrać jedną z dodatkowych opcji wdrażania opartych na pakietach.

Na podstawie typu Azure App Service i agenta zadanie wybiera odpowiednią technologię wdrażania. Różne technologie wdrażania używane przez zadanie to:

Domyślnie zadanie próbuje wybrać odpowiednią technologię wdrażania na podstawie typu pakietu wejściowego, App Service typu i systemu operacyjnego agenta.

Automatycznie wykrywaj logikę

W przypadku agentów opartych na systemie Windows.

typ App Service Typ pakietu Metoda wdrażania
Aplikacja internetowa w systemie Linux lub aplikacja funkcji w systemie Linux Folder/Zip/jar
War
Wdrażanie programu Zip Deploy War Deploy
WebApp for Containers (Linux) lub Aplikacja funkcji dla kontenerów (Linux) Aktualizowanie ustawień aplikacji NA
Aplikacja internetowa w systemie Windows, aplikacja funkcji w systemie Windows, aplikacja interfejsu API lub aplikacja mobilna War
Jar
MsBuild typ pakietu lub wdróż go w folderze aplikacji


wirtualnej/zip
Wdrażanie programu War Deploy
w sieci Web Deploy


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

W przypadku agentów innych niż Windows (dla dowolnego typu App Service) zadanie opiera się na interfejsach API REST Kudu w celu wdrożenia aplikacji.

Web Deploy

Narzędzie Web Deploy (msdeploy.exe) może służyć do wdrażania aplikacji internetowej w systemie Windows lub aplikacji funkcji w Azure App Service przy użyciu agenta systemu Windows. Narzędzie Web Deploy jest bogate w funkcje i oferuje opcje, takie jak:

  • Zmień nazwę zablokowanych plików: Zmień nazwę dowolnego pliku, który jest nadal używany przez serwer internetowy, włączając flagę MSDEPLOY\_RENAME\_LOCKED\_FILES=1 msdeploy w ustawieniach Azure App Service. Ta opcja, jeśli jest ustawiona, umożliwia msdeploy zmianę nazw plików, które są zablokowane podczas wdrażania aplikacji.

  • Usuń dodatkowe pliki w miejscu docelowym: Usuwa pliki w Azure App Service, które nie mają pasujących plików w wdrażanym pakiecie artefaktu lub folderze App Service.

  • Wyklucz pliki z folderu App_Data: Zapobiegaj wdrażaniu plików w folderze App_Data (w wdrażanym pakiecie artefaktu/folder Azure App Service ze)

  • Dodatkowe argumenty web deploy: Argumenty, które zostaną zastosowane podczas wdrażania Azure App Service. Przykład: -disableLink:AppPoolExtension -disableLink:ContentExtension. Aby uzyskać więcej przykładów ustawień operacji wdrażania sieci Web, zobacz Ustawienia operacji wdrażania sieci Web.

Zainstaluj narzędzie Web Deploy na agencie z programu Web Deploy 3.6. Narzędzie Web Deploy 3.5 musi być zainstalowane bez obsługi pakietu SQL. Podczas instalowania narzędzia Web Deploy nie trzeba wybierać żadnych ustawień niestandardowych. Narzędzie Web Deploy jest instalowane pod adresem C:/Program Files (x86)/IIS/Microsoft Web Deploy V3.

Interfejsy API REST kudu

Interfejsy API REST kudu działają zarówno na agentach automatyzacji systemu Windows, jak i Linux, gdy elementem docelowym jest aplikacja internetowa w systemie Windows, aplikacja internetowa w systemie Linux (wbudowane źródło) lub aplikacja funkcji. Zadanie używa kudu do kopiowania plików do usługi aplikacja systemu Azure.

Container Registry

Działa zarówno na agentach automatyzacji systemu Windows, jak i Linux, gdy elementem docelowym jest aplikacja internetowa dla kontenerów. Zadanie aktualizuje aplikację, ustawiając odpowiedni rejestr kontenerów, repozytorium, nazwę obrazu i informacje o tagu. Możesz również użyć zadania, aby przekazać polecenie uruchamiania obrazu kontenera.

Wdrażanie z pliku zip

Oczekuje .zip pakietu wdrożenia i wdraża zawartość pliku w folderze wwwroot App Service lub aplikacji funkcji na platformie Azure. Ta opcja zastępuje całą istniejącą zawartość w folderze wwwroot . Aby uzyskać więcej informacji, zobacz Wdrażanie zip dla Azure Functions.

Uruchamianie z pakietu

Oczekuje tego samego pakietu wdrożenia co zip deploy. Jednak zamiast wdrażać pliki w folderze wwwroot cały pakiet jest instalowany przez środowisko uruchomieniowe usługi Functions i pliki w folderze wwwroot stają się tylko do odczytu. Aby uzyskać więcej informacji, zobacz Uruchamianie funkcji Azure Functions z pliku pakietu.

Wdrażanie wojny

Oczekuje pakietu wdrożenia war i wdraża zawartość pliku w folderze wwwroot lub webapps App Service na platformie Azure.

Rozwiązywanie problemów

Nie mogę wdrożyć narzędzia Web Deploy na moim Azure App Service przy użyciu uwierzytelniania Tożsamość Microsoft Entra z mojego agenta systemu Windows

Zadanie wdrażania Azure App Service obsługuje nawiązywanie połączenia z platformą Microsoft Azure przy użyciu połączenia usługi ARM przy użyciu Tożsamość Microsoft Entra, chyba że istnieją następujące trzy warunki:

  • Używasz formatu pakietu Web Deploy w agencie systemu Windows
  • Agent jest uruchomiony ze starszą wersją msdeploy.exe (na przykład w przypadku korzystania z obrazu hostowanego agenta systemu Windows-2019 )
  • Uwierzytelnianie podstawowe jest wyłączone dla Azure App Service

Jeśli te trzy warunki są obecne, zostanie wyświetlony komunikat o błędzie, taki jak 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.

Aby rozwiązać ten problem, możesz wybrać jedną z następujących opcji w kolejności preferencji.

  1. Zaktualizuj obraz agenta. Jeśli używasz hostowanych agentów, przejdź z systemu windows-2019 do windows-2022 (lub windows-latest). Jeśli używasz własnych agentów, zainstaluj program Visual Studio 2022 na agencie, aby uzyskać nowszą wersję msdeploy.exe.
  2. Jeśli zależysz od starszego obrazu agenta i nie możesz zaktualizować agenta dla potoku, rozważ podzielenie zadania, aby Azure App Service wdrożyć zadanie działa w systemie windows-2022 (lub windows-latest).
  3. Jeśli żadna z tych opcji nie jest możliwa, możesz włączyć uwierzytelnianie podstawowe dla Azure App Service.

Błąd: Nie można pobrać tokenu dostępu dla platformy Azure. Sprawdź, czy użyta jednostka usługi jest prawidłowa i nie wygasła.

Zadanie używa jednostki usługi w połączeniu usługi do uwierzytelniania za pomocą platformy Azure. Jeśli jednostka usługi wygasła lub nie ma uprawnień do App Service, zadanie kończy się niepowodzeniem z powodu tego błędu. Sprawdź, czy używana jednostka usługi jest poprawna i czy jest obecna w rejestracji aplikacji. Aby uzyskać więcej informacji, zobacz Używanie kontroli dostępu na podstawie ról do zarządzania dostępem do zasobów subskrypcji platformy Azure. Ten wpis w blogu zawiera również więcej informacji na temat korzystania z uwierzytelniania jednostki usługi.

Błąd protokołu SSL

Jeśli chcesz użyć certyfikatu w App Service, certyfikat musi być podpisany przez zaufany urząd certyfikacji. Jeśli Twoja aplikacja internetowa wyświetla błędy walidacji certyfikatu, prawdopodobnie używasz certyfikatu z podpisem własnym. Ustaw zmienną o nazwie VSTS_ARM_REST_IGNORE_SSL_ERRORS na wartość true w potoku kompilacji lub wydania, aby rozwiązać ten problem.

Wydanie zawiesza się przez długi czas, a następnie kończy się niepowodzeniem

Ten problem może być wynikiem niewystarczającej pojemności w planie App Service. Aby rozwiązać ten problem, możesz skalować w górę wystąpienie App Service w celu zwiększenia dostępnego procesora CPU, pamięci RAM i miejsca na dysku lub spróbować użyć innego planu App Service.

Kody błędów 5xx

Jeśli widzisz błąd 5xx , sprawdź stan usługi platformy Azure.

Funkcja platformy Azure nagle przestała działać

Azure Functions może nagle przestać działać, jeśli od ostatniego wdrożenia minęło więcej niż rok. W przypadku wdrożenia za pomocą polecenia "RunFromPackage" w elemecie "deploymentMethod" zostanie wygenerowana sygnatura dostępu współdzielonego z datą wygaśnięcia 1 roku i ustawiona jako wartość "WEBSITE_RUN_FROM_PACKAGE" w konfiguracji aplikacji. Azure Functions używa tej sygnatury dostępu współdzielonego do odwołania do pliku pakietu na potrzeby wykonywania funkcji, więc jeśli sygnatura dostępu współdzielonego wygasła, funkcja nie zostanie wykonana. Aby rozwiązać ten problem, wdróż ponownie, aby wygenerować sygnaturę dostępu współdzielonego z datą wygaśnięcia jednego roku.

Błąd: nie znaleziono żadnego pakietu z określonym wzorcem

Sprawdź, czy pakiet wymieniony w zadaniu został opublikowany jako artefakt w kompilacji lub na poprzednim etapie i pobrany w bieżącym zadaniu.

Błąd: Opcja publikowania przy użyciu wdrażania zip nie jest obsługiwana dla typu pakietu msBuild

Pakiety sieci Web utworzone za pośrednictwem zadania MSBuild (z domyślnymi argumentami) mają zagnieżdżonych struktury folderów, które można wdrożyć poprawnie tylko za pomocą narzędzia Web Deploy. Nie można użyć opcji wdrażania publikowania do zip w celu wdrożenia tych pakietów. Aby przekonwertować strukturę pakowania, wykonaj następujące kroki:

  1. W zadaniu kompilowania rozwiązania zmień argumenty MSBuild na /p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent":

    Zrzut ekranu przedstawiający wartości rozwiązania kompilacji.

  2. Dodaj zadanie Archiwum i zmień wartości w następujący sposób:

    1. Zmień folder główny lub plik na archiwum na $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Wyczyść pole wyboru Prepend root folder do ścieżek archiwum :

      Zrzut ekranu przedstawiający wartości Archiwum.

Wdrażanie aplikacji internetowej w systemie Windows kończy się pomyślnie, ale aplikacja nie działa

Może to być spowodowane tym, że web.config nie jest obecny w aplikacji. Możesz dodać plik web.config do źródła lub automatycznie wygenerować go przy użyciu opcji przekształcania plików i zmiennej podstawiania zadania.

  • Kliknij zadanie i przejdź do pozycji Generowanie parametrów web.config dla języków Python, Node.js, Go i Java.

    Zrzut ekranu przedstawiający okno dialogowe Generowanie parametrów web.config.

  • Kliknij przycisk Więcej, aby edytować parametry języka Python, Node.js, Go i Java, generuj parametry web.config.

    Zrzut ekranu przedstawiający listę rozwijaną Platformy aplikacji.

  • Wybierz typ aplikacji z listy rozwijanej.

  • Kliknij przycisk OK. Spowoduje to wypełnienie web.config parametrów wymaganych do wygenerowania web.config.

Uwaga

Ta sekcja jest przestarzała i została zastąpiona zadaniem Przekształcanie plików .

ERROR_FILE_IN_USE

Podczas wdrażania aplikacji .NET w aplikacji internetowej w systemie Windows wdrożenie może zakończyć się niepowodzeniem z kodem błędu ERROR_FILE_IN_USE. Aby rozwiązać ten problem, upewnij się, że w zadaniu włączono opcje przełączenie nazwy zablokowanych plików i Przełącz aplikację w tryb offline . W przypadku wdrożeń bez przestojów użyj zamiany miejsca wdrożenia.

Można również użyć metody wdrożenia z uruchomieniem z pakietu, aby uniknąć blokowania zasobów.

Błąd web deploy

Jeśli używasz narzędzia Web Deploy do wdrażania aplikacji, w niektórych scenariuszach błędów w dzienniku rozszerzenia Web Deploy zostanie zarejestrowany kod błędu. Aby rozwiązać problem z błędem wdrażania internetowego, zobacz Web Deploy error codes (Kody błędów wdrażania w sieci Web).

Wdrażanie aplikacji internetowej w środowisku App Service Environment (ASE) nie działa

  • Upewnij się, że agent kompilacji usługi Azure DevOps znajduje się w tej samej sieci wirtualnej (podsieć może być inna), co wewnętrzna Load Balancer (ILB) środowiska ASE. Umożliwi to agentowi ściąganie kodu z usługi Azure DevOps i wdrażanie go w środowisku ASE.
  • Jeśli używasz usługi Azure DevOps, agent nie musi być dostępny z Internetu, ale wymaga tylko dostępu wychodzącego w celu nawiązania połączenia z usługą Azure DevOps Service.
  • Jeśli używasz serwera TFS/Azure DevOps Server wdrożonego w Virtual Network, agent może być całkowicie odizolowany.
  • Agent kompilacji musi być skonfigurowany z konfiguracją DNS aplikacji internetowej, do których musi zostać wdrożony. Ponieważ zasoby prywatne w Virtual Network nie mają wpisów w usłudze Azure DNS, należy dodać je do pliku hostów na maszynie agenta.
  • Jeśli dla konfiguracji środowiska ASE jest używany certyfikat z podpisem własnym, -allowUntrusted należy ustawić opcję w zadaniu wdrażania dla środowiska MSDeploy. Zaleca się również ustawienie zmiennej VSTS_ARM_REST_IGNORE_SSL_ERRORS na true. Jeśli certyfikat z urzędu certyfikacji jest używany do konfiguracji środowiska ASE, nie powinno to być konieczne. Jeśli wdrażasz w miejscu skonfigurowanym do zamiany automatycznej, zamiana zakończy się niepowodzeniem, chyba że ustawiono SCM_SKIP_SSL_VALIDATION lub SCM_SKIP_ASE_SSL_VALIDATION ustawiono 1 w ustawieniach konfiguracji usług App Services.

Często zadawane pytania

Jaka jest różnica między zadaniami AzureWebApp i?AzureRmWebAppDeployment

Zadanie aplikacji internetowej platformy Azure (AzureWebApp) to najprostszy sposób wdrażania w aplikacji internetowej platformy Azure. Domyślnie wdrożenie odbywa się z aplikacją główną w aplikacji internetowej platformy Azure.

Zadanie wdrażania Azure App Service (AzureRmWebAppDeployment) może obsługiwać więcej scenariuszy niestandardowych, takich jak:

Uwaga

Przekształcenia plików i podstawianie zmiennych są również obsługiwane przez oddzielne zadanie Przekształcanie plików do użycia w usłudze Azure Pipelines. Za pomocą zadania Przekształcanie plików można zastosować przekształcenia plików i zmienne podstawienia na dowolnych plikach konfiguracji i parametrów.

Jak skonfigurować połączenie z usługą?

To zadanie wymaga połączenia usługi Azure Resource Manager.

Jak skonfigurować wdrażanie zadań internetowych za pomocą usługi Application Insights?

W przypadku wdrażania w App Service jeśli skonfigurowano usługę Application Insights i włączono tę funkcjęRemove additional files at destination, należy również włączyć Exclude files from the App_Data folderusługę . Włączenie tej opcji powoduje zachowanie rozszerzenia usługi Application Insights w bezpiecznym stanie. Ten krok jest wymagany, ponieważ ciągłe zadanie WebJob usługi Application Insights jest instalowane w folderze App_Data.

Jak skonfigurować agenta, jeśli znajduje się on za serwerem proxy podczas wdrażania w App Service?

Jeśli własny agent wymaga internetowego serwera proxy, możesz poinformować agenta o serwerze proxy podczas konfiguracji. Dzięki temu agent może nawiązać połączenie z usługą Azure Pipelines lub Azure DevOps Server za pośrednictwem serwera proxy. Dowiedz się więcej o uruchamianiu własnego agenta za internetowym serwerem proxy.

Przykłady

Wdrażanie w określonym typie aplikacji

Aby wdrożyć w określonym typie aplikacji, ustaw appType na dowolną z następujących akceptowanych wartości: webApp (Aplikacja internetowa w systemie Windows), (Aplikacja internetowa w systemie Linux), webAppContainerwebAppLinux (Aplikacja internetowa dla kontenerów — Linux functionApp ), (Aplikacja funkcji w systemie Windows functionAppLinux ), (Aplikacja funkcji functionAppContainer dla kontenerów — Linux), (aplikacja interfejsu API), apiAppmobileApp (aplikacja mobilna). Jeśli nie zostanie wymieniona, webApp zostanie potraktowana jako wartość domyślna.

Aby włączyć dowolne zaawansowane opcje wdrażania, dodaj parametr enableCustomDeployment: true i dołącz następujące parametry zgodnie z potrzebami.

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

Wdrażanie w kontenerze systemu Linux aplikacji internetowej platformy Azure

Poniższy przykład YAML jest wdrażany w kontenerze aplikacji internetowej platformy Azure (Linux).

pool:
  vmImage: ubuntu-latest

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

steps:

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

Wdrażanie aplikacji internetowej w systemie Windows App Service między miejscami wdrożenia

Poniższy przykład wdraża aplikację internetową w systemie Windows App Service między miejscami wdrożenia.

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'

Przykładowy skrypt wdrażania po wdrożeniu

Zadanie zapewnia opcję dostosowania wdrożenia przez podanie skryptu uruchamianego na Azure App Service po pomyślnym skopiowaniu artefaktów aplikacji do App Service. Możesz podać wbudowany skrypt wdrożenia lub ścieżkę i nazwę pliku skryptu w folderze artefaktu.

Jest to bardzo przydatne, gdy chcesz przywrócić zależności aplikacji bezpośrednio na App Service. Przywracanie pakietów dla aplikacji Node, PHP i Python pomaga uniknąć przekroczenia limitu czasu, gdy zależność aplikacji powoduje skopiowanie dużego artefaktu z agenta do Azure App Service.

Przykładem skryptu wdrożenia jest:

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

Wymagania

Wymaganie Opis
Typy potoków YAML, kompilacja klasyczna, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable Dowolne
Wersja agenta 2.104.1 lub nowsza
Kategoria zadania Wdróż

Zobacz też