AzureRmWebAppDeployment@4 - توزيع Azure App Service لمهمة v4

استخدم هذه المهمة لتوزيع تطبيق ويب أو جوال أو واجهة برمجة تطبيقات في Azure App Service باستخدام Docker أو Java أو .NET أو .NET Core أو Node.js أو PHP أو Python أو Ruby.

ملاحظة

استخدم AzureFunctionApp@1 لنشر تطبيقات Azure Functions.

قم بتحديث Azure App Services على Windows أو Web App على Linux مع الصور المضمنة أو حاويات Docker ASP.NET و.NET Core وPHP وPython أو تطبيقات الويب المستندة إلى Node.js وتطبيقات الوظائف على Windows أو Linux باستخدام حاويات Docker وتطبيقات الأجهزة المحمولة وتطبيقات واجهة برمجة التطبيقات ووظائف الويب باستخدام Web Deploy/Kudu REST APIs.

بناء الجملة

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

الإدخالات

ConnectionType - نوع الاتصال
string. مطلوب القيم المسموح بها: AzureRM (Azure Resource Manager)، PublishProfile (نشر ملف التعريف). القيمة الافتراضية: AzureRM.

حدد نوع اتصال الخدمة لاستخدامه لنشر تطبيق الويب.

حدد Publish Profile لاستخدام ملفات تعريف النشر التي أنشأها Visual Studio.


ConnectionType - نوع الاتصال
string. مطلوب القيم المسموح بها: AzureRM (Azure Resource Manager)، PublishProfile (نشر ملف التعريف). القيمة الافتراضية: AzureRM.

حدد نوع اتصال الخدمة لاستخدامه لنشر تطبيق الويب.


azureSubscription - اشتراك Azure
الاسم المستعار للإدخل: ConnectedServiceName. string. مطلوب عند ConnectionType = AzureRM.

حدد اشتراك Azure Resource Manager للتوزيع.


PublishProfilePath - نشر مسار ملف التعريف
string. مطلوب عند ConnectionType = PublishProfile. القيمة الافتراضية: $(System.DefaultWorkingDirectory)/**/*.pubxml.

مسار ملف تعريف النشر الذي تم إنشاؤه من Visual Studio.


PublishProfilePassword - نشر كلمة مرور ملف التعريف
string. مطلوب عند ConnectionType = PublishProfile.

يوصى بتخزين كلمة مرور في متغير سري واستخدام هذا المتغير هنا على سبيل المثال $(Password).


appType - نوع App Service
الاسم المستعار للإدخل: WebAppKind. string. مطلوب عند ConnectionType = AzureRM. القيم المسموح بها: webApp (تطبيق الويب على Windows)، webAppLinux (تطبيق الويب على Linux)، webAppContainer (تطبيق الويب للحاويات (Linux))، webAppHyperVContainer (تطبيق الويب للحاويات (Windows))، functionApp (تطبيق الوظائف على Windows (غير مستحسن، استخدام مهمة وظائف Azure))، functionAppLinux (تطبيق الوظائف على Linux (غير مستحسن، استخدام مهمة وظائف Azure))، functionAppContainer (تطبيق الوظائف للحاويات (Linux) (غير مستحسن، استخدام وظائف Azure لمهمة الحاوية))، apiApp (تطبيق واجهة برمجة التطبيقات)، mobileApp (تطبيق الأجهزة المحمولة). القيمة الافتراضية: webApp.

اختر من تطبيق الويب على Windows، وتطبيق الويب على Linux، وتطبيق الويب للحاويات، وتطبيق الوظائف، وتطبيق الوظائف على Linux، وتطبيق الوظائف للحاويات وتطبيق الأجهزة المحمولة.


appType - نوع App Service
الاسم المستعار للإدخل: WebAppKind. string. مطلوب عند ConnectionType = AzureRM. القيم المسموح بها: webApp (تطبيق الويب على Windows)، webAppLinux (تطبيق الويب على Linux)، webAppContainer (تطبيق الويب للحاويات (Linux))، functionApp (تطبيق الوظائف على Windows)، functionAppLinux (تطبيق الوظائف على Linux)، functionAppContainer (تطبيق الوظائف للحاويات (Linux))، apiApp (تطبيق واجهة برمجة التطبيقات)، mobileApp (تطبيق الأجهزة المحمولة). القيمة الافتراضية: webApp.

اختر من تطبيق الويب على Windows، وتطبيق الويب على Linux، وتطبيق الويب للحاويات، وتطبيق الوظائف، وتطبيق الوظائف على Linux، وتطبيق الوظائف للحاويات وتطبيق الأجهزة المحمولة.


WebAppName - اسم App Service
string. مطلوب عند ConnectionType = AzureRM.

حدد اسم خدمة تطبيقات Azure الموجودة. سيتم سرد خدمات التطبيقات المستندة إلى نوع التطبيق المحدد فقط عند استخدام مساعد المهام.


deployToSlotOrASE - التوزيع إلى Slot أو App Service Environment
الاسم المستعار للإدخل: DeployToSlotOrASEFlag. boolean. ‏‏اختياري. استخدم عندما ConnectionType = AzureRM && WebAppKind != "". القيمة الافتراضية: false.

حدد خيار التوزيع إلى فتحة توزيع موجودة أو بيئة Azure App Service. لكلا الهدفين، تتطلب المهمة اسم مجموعة الموارد. إذا كان هدف التوزيع عبارة عن فتحة، يكون التوزيع افتراضيا إلى فتحة الإنتاج . يمكن توفير أي اسم فتحة موجود آخر. إذا كان هدف التوزيع هو بيئة Azure App Service، فاترك اسم الفتحة كما Production وحدد اسم مجموعة الموارد فقط.


ResourceGroupName - مجموعة الموارد
string. مطلوب عند DeployToSlotOrASEFlag = true.

اسم مجموعة الموارد مطلوب عندما يكون هدف التوزيع إما فتحة توزيع أو App Service Environment.

حدد مجموعة موارد Azure التي تحتوي على Azure App Service المحددة أعلاه.


SlotName - فتحه
string. مطلوب عند DeployToSlotOrASEFlag = true. القيمة الافتراضية: production.

حدد فتحة موجودة بخلاف فتحة الإنتاج.


DockerNamespace - السجل أو مساحة الاسم
string. مطلوب عند WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

اسم مجال فريد من المستوى الأعلى عالميا للسجل أو مساحة الاسم المحددة. ملاحظة: سيكون اسم الصورة المؤهل بالكامل بالتنسيق: {registry or namespace}/{repository}:{tag}. على سبيل المثال، ⁧myregistry.azurecr.io/nginx:latest⁩.


DockerNamespace - السجل أو مساحة الاسم
string. مطلوب عند WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

اسم مجال فريد من المستوى الأعلى عالميا للسجل أو مساحة الاسم المحددة. ملاحظة: سيكون اسم الصورة المؤهل بالكامل بالتنسيق: {registry or namespace}/{repository}:{tag}. على سبيل المثال، ⁧myregistry.azurecr.io/nginx:latest⁩.


DockerNamespace - السجل أو مساحة الاسم
string. مطلوب عند WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

اسم مجال فريد من المستوى الأعلى عالميا للسجل أو مساحة الاسم المحددة. ملاحظة: سيكون اسم الصورة المؤهل بالكامل بالتنسيق: {registry or namespace}/{repository}:{tag}. على سبيل المثال، ⁧myregistry.azurecr.io/nginx:latest⁩.


DockerRepository - الصوره
string. مطلوب عند WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

اسم المستودع حيث يتم تخزين صور الحاوية. ملاحظة: سيكون اسم الصورة المؤهل بالكامل بالتنسيق: {registry or namespace}/{repository}:{tag}. على سبيل المثال، ⁧myregistry.azurecr.io/nginx:latest⁩.


DockerRepository - الصوره
string. مطلوب عند WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

اسم المستودع حيث يتم تخزين صور الحاوية. ملاحظة: سيكون اسم الصورة المؤهل بالكامل بالتنسيق: {registry or namespace}/{repository}:{tag}. على سبيل المثال، ⁧myregistry.azurecr.io/nginx:latest⁩.


DockerRepository - الصوره
string. مطلوب عند WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

اسم المستودع حيث يتم تخزين صور الحاوية. ملاحظة: سيكون اسم الصورة المؤهل بالكامل بالتنسيق: {registry or namespace}/{repository}:{tag}. على سبيل المثال، ⁧myregistry.azurecr.io/nginx:latest⁩.


DockerImageTag - العلامه
string. ‏‏اختياري. استخدم عندما WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer.

العلامات هي الآلية التي تستخدمها السجلات لتطبيق معلومات الإصدار على صور Docker. ملاحظة: سيكون اسم الصورة المؤهل بالكامل بالتنسيق: {registry or namespace}/{repository}:{tag}. على سبيل المثال، ⁧myregistry.azurecr.io/nginx:latest⁩.


DockerImageTag - العلامه
string. ‏‏اختياري. استخدم عندما WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer.

العلامات هي الآلية التي تستخدمها السجلات لتطبيق معلومات الإصدار على صور Docker. ملاحظة: سيكون اسم الصورة المؤهل بالكامل بالتنسيق: {registry or namespace}/{repository}:{tag}. على سبيل المثال، ⁧myregistry.azurecr.io/nginx:latest⁩.


DockerImageTag - العلامه
string. ‏‏اختياري. استخدم عندما WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

العلامات هي الآلية التي تستخدمها السجلات لتطبيق معلومات الإصدار على صور Docker. ملاحظة: سيكون اسم الصورة المؤهل بالكامل بالتنسيق: {registry or namespace}/{repository}:{tag}. على سبيل المثال، ⁧myregistry.azurecr.io/nginx:latest⁩.


VirtualApplication - التطبيق الظاهري
string. ‏‏اختياري. استخدم عندما WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "".

حدد اسم التطبيق الظاهري الذي تم تكوينه في مدخل Microsoft Azure. هذا الخيار غير مطلوب لعمليات التوزيع إلى جذر موقع الويب. يجب أن يكون التطبيق الظاهري قد تم تكوينه قبل نشر مشروع الويب.


VirtualApplication - التطبيق الظاهري
string. ‏‏اختياري. استخدم عندما WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "".

حدد اسم التطبيق الظاهري الذي تم تكوينه في مدخل Microsoft Azure. هذا الخيار غير مطلوب لعمليات التوزيع إلى جذر موقع الويب. يجب أن يكون التطبيق الظاهري قد تم تكوينه قبل نشر مشروع الويب.


packageForLinux - الحزمة أو المجلد
الاسم المستعار للإدخل: Package. string. مطلوب عند ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. القيمة الافتراضية: $(System.DefaultWorkingDirectory)/**/*.zip.

مسار الملف إلى الحزمة، أو إلى مجلد يحتوي على محتويات خدمة التطبيق التي تم إنشاؤها بواسطة MSBuild أو ملف مضغوط أو ملف حرب.

المتغيرات هي الإنشاءوالإصدار. يتم دعم أحرف البدل.

على سبيل المثال، $(System.DefaultWorkingDirectory)/\*\*/\*.zip أو $(System.DefaultWorkingDirectory)/\*\*/\*.war.


RuntimeStack - مكدس وقت التشغيل
string. ‏‏اختياري. استخدم عندما WebAppKind = webAppLinux.

حدد إطار العمل والإصدار ل Function App على Linux.


RuntimeStackFunction - مكدس وقت التشغيل
string. ‏‏اختياري. استخدم عندما WebAppKind = functionAppLinux. القيم المسموح بها: DOTNET|2.2 (DOTNET|2.2 (functionapp v2))، DOTNET|3.1 (DOTNET|3.1 (functionapp v3))، JAVA|8 (JAVA|8 (functionapp v2/v3))، JAVA|11 (JAVA|11 (functionapp v3))، NODE|8 (NODE|8 (functionapp v2))، NODE|10 (NODE|10 (functionapp v2/v3))، NODE|12 (NODE|12 (functionapp v3))، NODE|14 (NODE|14 (functionapp v3))، PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3))، PYTHON|3.7 (PYTHON|3.7 (functionapp v2/v3))، PYTHON|3.8 (PYTHON|3.8 (functionapp v3)).

حدد إطار العمل والإصدار. راجع نظرة عامة على إصدارات وقت تشغيل Azure Functions لإصدارات وقت التشغيل المدعومة. يتم إهمال القيم القديمة مثل DOCKER|microsoft/azure-functions-* . الرجاء استخدام القيم الجديدة من القائمة المنسدلة.


RuntimeStackFunction - مكدس وقت التشغيل
string. ‏‏اختياري. استخدم عندما WebAppKind = functionAppLinux. القيم المسموح بها: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET)، DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

حدد إطار العمل والإصدار.


StartupCommand - أمر بدء التشغيل
string. ‏‏اختياري. استخدم عندما WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer.

حدد أمر بدء التشغيل. على سبيل المثال:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - أمر بدء التشغيل
string. ‏‏اختياري. استخدم عندما WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer.

حدد أمر بدء التشغيل. على سبيل المثال:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - أمر بدء التشغيل
string. ‏‏اختياري. استخدم عندما WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

حدد أمر بدء التشغيل. على سبيل المثال:

dotnet exec filename.dll

dotnet filename.dll.


StartupCommand - أمر بدء التشغيل
string. ‏‏اختياري. استخدم عندما WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux.

حدد أمر بدء التشغيل. على سبيل المثال، dotnet rundotnet filename.dll.


StartupCommand - أمر بدء التشغيل
string. ‏‏اختياري. استخدم عندما WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer.

حدد أمر بدء التشغيل.


ScriptType - نوع البرنامج النصي للتوزيع
string. ‏‏اختياري. استخدم عندما ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. القيم المسموح بها: Inline Script، File Path (مسار ملف البرنامج النصي).

تخصيص التوزيع عن طريق توفير برنامج نصي يعمل على Azure App Service بعد التوزيع الناجح. اختر البرنامج النصي للتوزيع المضمن أو مسار ملف البرنامج النصي واسمه. تعرف على المزيد حول Azure App Service Deployment.


ScriptType - نوع البرنامج النصي للتوزيع
string. ‏‏اختياري. استخدم عندما ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. القيم المسموح بها: Inline Script، File Path (مسار ملف البرنامج النصي).

تخصيص التوزيع عن طريق توفير برنامج نصي يعمل على Azure App Service بعد التوزيع الناجح. اختر البرنامج النصي للتوزيع المضمن أو مسار ملف البرنامج النصي واسمه. تعرف على المزيد حول Azure App Service Deployment.


InlineScript - البرنامج النصي المضمن
string. مطلوب عند ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. القيمة الافتراضية: :: You can provide your deployment commands here. One command per line..

البرنامج النصي المراد تنفيذه. يمكنك توفير أوامر التوزيع هنا، أمر واحد لكل سطر. انظر المثال الآتي.


InlineScript - البرنامج النصي المضمن
string. مطلوب عند ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. القيمة الافتراضية: :: You can provide your deployment commands here. One command per line..

البرنامج النصي المراد تنفيذه. يمكنك توفير أوامر التوزيع هنا، أمر واحد لكل سطر. انظر المثال الآتي.


ScriptPath - مسار البرنامج النصي للتوزيع
string. مطلوب عند ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer.

مسار البرنامج النصي المراد تنفيذه واسمه.


ScriptPath - مسار البرنامج النصي للتوزيع
string. مطلوب عند ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer.

مسار البرنامج النصي المراد تنفيذه واسمه.


WebConfigParameters - إنشاء معلمات web.config لتطبيقات Python Node.js وGo وJava
string. ‏‏اختياري. استخدم عندما WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

سيتم إنشاء معيار Web.config ونشره في Azure App Service إذا لم يكن التطبيق يحتوي على واحد. يمكن تحرير القيم في web.config وتختلف استنادا إلى إطار عمل التطبيق. على سبيل المثال، بالنسبة node.js للتطبيقات، web.config سيكون لديك ملف بدء تشغيل وقيم وحدة iis_node. ميزة التحرير هذه مخصصة فقط ل web.config. تعرف على المزيد حول Azure App Service Deployment.


WebConfigParameters - إنشاء معلمات web.config لتطبيقات Python Node.js وGo وJava
string. ‏‏اختياري. استخدم عندما WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

سيتم إنشاء معيار Web.config ونشره في Azure App Service إذا لم يكن التطبيق يحتوي على واحد. يمكن تحرير القيم في web.config وتختلف استنادا إلى إطار عمل التطبيق. على سبيل المثال، بالنسبة node.js للتطبيقات، web.config سيكون لديك ملف بدء تشغيل وقيم وحدة iis_node. ميزة التحرير هذه مخصصة فقط ل web.config. تعرف على المزيد حول Azure App Service Deployment.


AppSettings - إعدادات التطبيق
string. ‏‏اختياري. استخدم عندما ConnectionType = AzureRM.

تحرير إعدادات تطبيق الويب باستخدام بناء الجملة -key value. يجب إحاطة القيم التي تحتوي على مسافات بعلامات اقتباس مزدوجة. أمثلة: -Port 5000 -RequestTimeout 5000 و -WEBSITE_TIME_ZONE "Eastern Standard Time". لتوفير قيمتين أو أكثر من قيم المفاتيح، يجب فصل قيم المفاتيح بمسافة. مثال:-key1 "Value1" -Key2 "Value2".


ConfigurationSettings - إعدادات التكوين
string. ‏‏اختياري. استخدم عندما ConnectionType = AzureRM.

تحرير إعدادات تكوين تطبيق الويب باستخدام بناء الجملة -key value. يجب إحاطة القيم التي تحتوي على مسافات بعلامات اقتباس مزدوجة. مثال:-phpVersion 5.6 -linuxFxVersion node|6.11.


enableCustomDeployment - تحديد أسلوب النشر
الاسم المستعار للإدخل: UseWebDeploy. boolean. ‏‏اختياري. استخدم عندما ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيمة الافتراضية: false.

إذا لم يتم تحديدها أو خطأ، تكتشف المهمة تلقائيا أفضل طريقة توزيع استنادا إلى نوع التطبيق وتنسيق الحزمة والمعلمات الأخرى. تحقق من هذا الخيار في مساعد المهام لعرض أساليب التوزيع المدعومة، واختر واحدة لنشر تطبيقك.


enableCustomDeployment - تحديد أسلوب النشر
الاسم المستعار للإدخل: UseWebDeploy. boolean. ‏‏اختياري. استخدم عندما ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيمة الافتراضية: false.

إذا لم يتم تحديدها أو خطأ، تكتشف المهمة تلقائيا أفضل طريقة توزيع استنادا إلى نوع التطبيق وتنسيق الحزمة والمعلمات الأخرى. تحقق من هذا الخيار في مساعد المهام لعرض أساليب التوزيع المدعومة، واختر واحدة لنشر تطبيقك.


DeploymentType - أسلوب التوزيع
string. مطلوب عند UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيم المسموح بها: webDeploy (توزيع الويب)، zipDeploy (توزيع Zip)، runFromZip (تشغيل من الحزمة). القيمة الافتراضية: webDeploy.

تحديد أسلوب التوزيع للتطبيق.


DeploymentType - أسلوب التوزيع
string. مطلوب عند UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيم المسموح بها: webDeploy (توزيع الويب)، zipDeploy (توزيع Zip)، runFromZip (تشغيل من الحزمة). القيمة الافتراضية: webDeploy.

تحديد أسلوب التوزيع للتطبيق.


TakeAppOfflineFlag - وضع التطبيق دون اتصال
boolean. ‏‏اختياري. استخدم عندما UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيمة الافتراضية: true.

حدد هذا الخيار لجعل Azure App Service دون اتصال عن طريق وضع app_offline.htm ملف في الدليل الجذر قبل بدء عملية المزامنة. ستتم إزالة الملف بعد اكتمال المزامنة بنجاح.


TakeAppOfflineFlag - وضع التطبيق دون اتصال
boolean. ‏‏اختياري. استخدم عندما UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيمة الافتراضية: true.

حدد هذا الخيار لجعل Azure App Service دون اتصال عن طريق وضع app_offline.htm ملف في الدليل الجذر قبل بدء عملية المزامنة. ستتم إزالة الملف بعد اكتمال المزامنة بنجاح.


SetParametersFile - ملف SetParameters
string. ‏‏اختياري. استخدم عندما UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar.

موقع الملف المراد SetParameters.xml استخدامه.


SetParametersFile - ملف SetParameters
string. ‏‏اختياري. استخدم عندما UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar.

موقع الملف المراد SetParameters.xml استخدامه.


RemoveAdditionalFilesFlag - إزالة ملفات إضافية في الوجهة
boolean. ‏‏اختياري. استخدم عندما UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيمة الافتراضية: false.

حدد "صحيح" لحذف الملفات على Azure App Service التي لا تحتوي على ملفات مطابقة في حزمة أو مجلد App Service. سيؤدي هذا أيضا إلى إزالة جميع الملفات المتعلقة بأي ملحق مثبت على Azure App Service. لمنع ذلك، حدد خانة Exclude files from App_Data folder الاختيار.


RemoveAdditionalFilesFlag - إزالة ملفات إضافية في الوجهة
boolean. ‏‏اختياري. استخدم عندما UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيمة الافتراضية: false.

حدد "صحيح" لحذف الملفات على Azure App Service التي لا تحتوي على ملفات مطابقة في حزمة أو مجلد App Service. سيؤدي هذا أيضا إلى إزالة جميع الملفات المتعلقة بأي ملحق مثبت على Azure App Service. لمنع ذلك، حدد خانة Exclude files from App_Data folder الاختيار.


ExcludeFilesFromAppDataFlag - استبعاد الملفات من مجلد App_Data
boolean. ‏‏اختياري. استخدم عندما UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيمة الافتراضية: true.

حدد الخيار لمنع نشر الملفات الموجودة App_Data في المجلد إلى/حذفها من Azure App Service.


ExcludeFilesFromAppDataFlag - استبعاد الملفات من مجلد App_Data
boolean. ‏‏اختياري. استخدم عندما UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيمة الافتراضية: true.

حدد الخيار لمنع نشر الملفات الموجودة App_Data في المجلد إلى/حذفها من Azure App Service.


AdditionalArguments - وسيطات إضافية
string. ‏‏اختياري. استخدم عندما UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيمة الافتراضية: -retryAttempts:6 -retryInterval:10000.

وسيطات Web Deploy الإضافية التي تتبع بناء الجملة -key:value. سيتم تطبيقها عند توزيع Azure App Service. أمثلة: -disableLink:AppPoolExtension -disableLink:ContentExtension. تعرف على المزيد حول إعدادات عملية نشر الويب.


AdditionalArguments - وسيطات إضافية
string. ‏‏اختياري. استخدم عندما UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيمة الافتراضية: -retryAttempts:6 -retryInterval:10000.

وسيطات Web Deploy الإضافية التي تتبع بناء الجملة -key:value. سيتم تطبيقها عند توزيع Azure App Service. أمثلة: -disableLink:AppPoolExtension -disableLink:ContentExtension. تعرف على المزيد حول إعدادات عملية نشر الويب.


RenameFilesFlag - إعادة تسمية الملفات المؤمنة
boolean. ‏‏اختياري. استخدم عندما UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيمة الافتراضية: true.

حدد القيمة الافتراضية لتمكين علامة MSDEPLOY_RENAME_LOCKED_FILES=1 msdeploy في إعدادات تطبيق Azure App Service. إذا تم تعيينه، فإن الخيار يمكن msdeploy من إعادة تسمية الملفات المؤمنة أثناء نشر التطبيق.


RenameFilesFlag - إعادة تسمية الملفات المؤمنة
boolean. ‏‏اختياري. استخدم عندما UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. القيمة الافتراضية: true.

حدد القيمة الافتراضية لتمكين علامة MSDEPLOY_RENAME_LOCKED_FILES=1 msdeploy في إعدادات تطبيق Azure App Service. إذا تم تعيينه، فإن الخيار يمكن msdeploy من إعادة تسمية الملفات المؤمنة أثناء نشر التطبيق.


enableXmlTransform - تحويل XML
الاسم المستعار للإدخل: XmlTransformation. boolean. ‏‏اختياري. استخدم عندما WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. القيمة الافتراضية: false.

سيتم تشغيل تحويلات التكوين ل *.Release.config و *.<EnvironmentName>.config على *.config file. يتم تشغيل تحويلات التكوين قبل استبدال المتغير. يتم دعم تحويلات XML فقط للنظام الأساسي ل Windows.


enableXmlTransform - تحويل XML
الاسم المستعار للإدخل: XmlTransformation. boolean. ‏‏اختياري. استخدم عندما WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. القيمة الافتراضية: false.

سيتم تشغيل تحويلات التكوين ل *.Release.config و *.<EnvironmentName>.config على *.config file. يتم تشغيل تحويلات التكوين قبل استبدال المتغير. يتم دعم تحويلات XML فقط للنظام الأساسي ل Windows.


enableXmlVariableSubstitution - استبدال متغير XML
الاسم المستعار للإدخل: XmlVariableSubstitution. boolean. ‏‏اختياري. استخدم عندما WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. القيمة الافتراضية: false.

ستتم مطابقة المتغيرات المحددة في البنية الأساسية لبرنامج ربط العمليات التجارية للبناء أو الإصدار مقابل إدخالات المفتاح أو الاسم في applicationSettingsconfigSectionsappSettingsأقسام و لأي connectionStrings ملف تكوين وملف.parameters.xml يتم تشغيل الاستبدال المتغير بعد تحويلات التكوين.

إذا تم تعريف نفس المتغيرات في مسار الإصدار وفي المرحلة، فإن متغيرات المرحلة ستحل محل متغيرات مسار الإصدار. تعرف على المزيد حول [استبدال متغير XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


enableXmlVariableSubstitution - استبدال متغير XML
الاسم المستعار للإدخل: XmlVariableSubstitution. boolean. ‏‏اختياري. استخدم عندما WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. القيمة الافتراضية: false.

ستتم مطابقة المتغيرات المحددة في البنية الأساسية لبرنامج ربط العمليات التجارية للبناء أو الإصدار مقابل إدخالات المفتاح أو الاسم في applicationSettingsconfigSectionsappSettingsأقسام و لأي connectionStrings ملف تكوين وملف.parameters.xml يتم تشغيل الاستبدال المتغير بعد تحويلات التكوين.

إذا تم تعريف نفس المتغيرات في مسار الإصدار وفي المرحلة، فإن متغيرات المرحلة ستحل محل متغيرات مسار الإصدار. تعرف على المزيد حول [استبدال متغير XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).


JSONFiles - استبدال متغير JSON
string. ‏‏اختياري. استخدم عندما WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

يوفر قائمة مفصولة بخطوط جديدة من ملفات JSON لاستبدال قيم المتغير. يجب أن تكون أسماء الملفات مرتبطة بالمجلد الجذر. لاستبدال متغيرات JSON المتداخلة أو الهرمية، حددها باستخدام JSONPath التعبيرات. على سبيل المثال، لاستبدال قيمة ConnectionString في النموذج أدناه، حدد متغيرا مسمى Data.DefaultConnection.ConnectionString في البنية الأساسية لبرنامج ربط العمليات التجارية للإنشاء أو الإصدار (أو مرحلة مسارات الإصدار).

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

يتم تشغيل استبدال متغير بعد تحويلات التكوين. ملاحظة: يتم استبعاد متغيرات البنية الأساسية لبرنامج ربط العمليات التجارية للإنشاء والإصدار من الاستبدال. تعرف على المزيد حول استبدال متغير JSON.


JSONFiles - استبدال متغير JSON
string. ‏‏اختياري. استخدم عندما WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war.

يوفر قائمة مفصولة بخطوط جديدة من ملفات JSON لاستبدال قيم المتغير. يجب أن تكون أسماء الملفات مرتبطة بالمجلد الجذر. لاستبدال متغيرات JSON المتداخلة أو الهرمية، حددها باستخدام JSONPath التعبيرات. على سبيل المثال، لاستبدال قيمة ConnectionString في النموذج أدناه، حدد متغيرا مسمى Data.DefaultConnection.ConnectionString في البنية الأساسية لبرنامج ربط العمليات التجارية للإنشاء أو الإصدار (أو مرحلة مسارات الإصدار).

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

يتم تشغيل استبدال متغير بعد تحويلات التكوين. ملاحظة: يتم استبعاد متغيرات البنية الأساسية لبرنامج ربط العمليات التجارية للإنشاء والإصدار من الاستبدال. تعرف على المزيد حول استبدال متغير JSON.


خيارات التحكم بالمهمة

تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.

متغيرات الإخراج

تحدد هذه المهمة متغيرات الإخراج التالية، والتي يمكنك استهلاكها في خطوات انتقال البيانات من الخادم والوظائف والمراحل.

AppServiceApplicationUrl
عنوان URL للتطبيق لخدمة التطبيقات المحددة.

الملاحظات

استخدم هذه المهمة للنشر في مجموعة من خدمات التطبيقات على Azure. تعمل المهمة على العوامل عبر الأنظمة الأساسية التي تعمل بنظام التشغيل Windows أو Linux أو Mac وتستخدم العديد من تقنيات التوزيع الأساسية المختلفة.

تعمل المهمة مع تطبيقات الويب المستندة إلى ASP.NETASP.NET CoreوPHPوJavaوPythonوGoNode.js.

يمكن استخدام المهمة للنشر في مجموعة من خدمات تطبيقات Azure مثل:

المتطلبات الأساسية للمهمة

يجب إعداد المتطلبات الأساسية التالية في الجهاز (الأجهزة) الهدف حتى تعمل المهمة بشكل صحيح.

ملاحظات الاستخدام

  • تعمل المهمة مع واجهات برمجة تطبيقات Azure Resource Manager فقط.
  • لتجاهل أخطاء SSL، حدد متغيرا يسمى VSTS_ARM_REST_IGNORE_SSL_ERRORS بقيمة true في البنية الأساسية لبرنامج ربط العمليات التجارية. إذا كنت تقوم بالتوزيع إلى فتحة تم تكوينها للتبديل التلقائي، فسيفشل التبديل ما لم تقم بتعيين SCM_SKIP_SSL_VALIDATION أو SCM_SKIP_ASE_SSL_VALIDATION في 1 إعدادات تكوين خدمات التطبيق.
  • بالنسبة لتطبيقات .NET التي تستهدف Web App على Windows، تجنب فشل النشر مع الخطأ ERROR_FILE_IN_USE عن طريق التأكد من تمكين إعادة تسمية الملفات المؤمنة وإعدادات Take App Offline . لتوزيع وقت تعطل صفري، استخدم خيار تبديل الفتحة.
  • عند النشر إلى App Service التي تم تكوين Application Insights لها، وقمت بتمكين إزالة ملفات إضافية في الوجهة، تأكد أيضا من تمكين استبعاد الملفات من مجلد App_Data من أجل الحفاظ على ملحق Application insights في حالة آمنة. هذا مطلوب لأن مهمة الويب المستمرة ل Application Insights مثبتة في مجلد App_Data.

أساليب التوزيع

تتوفر عدة طرق نشر في هذه المهمة. توزيع الويب (msdeploy.exe) هو الافتراضي. لتغيير خيار النشر، قم بتوسيع خيارات النشر الإضافية وتمكين تحديد أسلوب النشر للاختيار من بين خيارات النشر الإضافية المستندة إلى الحزمة.

استنادا إلى نوع Azure App Service والعامل، تختار المهمة تقنية توزيع مناسبة. تقنيات التوزيع المختلفة التي تستخدمها المهمة هي:

بشكل افتراضي، تحاول المهمة تحديد تقنية التوزيع المناسبة استنادا إلى نوع حزمة الإدخال ونوع App Service ونظام تشغيل العامل.

الكشف التلقائي عن المنطق

للوكلاء المستندين إلى windows.

نوع App Service نوع الحزمة أسلوب النشر
WebApp على Linux أو Function App على Linux حرب المجلد/Zip/jar
نشر
Zip War Deploy
تطبيق ويب للحاويات (Linux) أو تطبيق الوظائف للحاويات (Linux) تحديث إعدادات التطبيق ‏‏غير متوفر
WebApp على Windows أو Function App على Windows أو تطبيق API أو تطبيق الأجهزة المحمولة نوع حزمة War
Jar MsBuild أو توزيعها إلى مجلد/Zip للتطبيق


الظاهري
نشر الحرب نشر
مضغوط نشر
ويب

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

على العوامل غير التابعة ل Windows (لأي نوع من أنواع App Service)، تعتمد المهمة على واجهات برمجة تطبيقات Kudu REST لنشر التطبيق.

توزيع ويب

يمكن استخدام Web Deploy (msdeploy.exe) لنشر تطبيق ويب على Windows أو Function App إلى Azure App Service باستخدام عامل Windows. يعد Web Deploy غنيا بالميزات ويوفر خيارات مثل:

  • إعادة تسمية الملفات المؤمنة: أعد تسمية أي ملف لا يزال قيد الاستخدام من قبل خادم الويب عن طريق تمكين علامة MSDEPLOY\_RENAME\_LOCKED\_FILES=1 msdeploy في إعدادات Azure App Service. يمكن هذا الخيار، إذا تم تعيينه، msdeploy من إعادة تسمية الملفات المؤمنة أثناء نشر التطبيق.

  • إزالة ملفات إضافية في الوجهة: حذف الملفات في Azure App Service التي لا تحتوي على ملفات مطابقة في حزمة البيانات الاصطناعية لخدمة التطبيقات أو المجلد الذي يتم نشره.

  • استبعاد الملفات من المجلد App_Data: منع نشر الملفات في مجلد App_Data (في حزمة/مجلد البيانات الاصطناعية الذي يتم نشره) في Azure App Service

  • وسيطات نشر ويب إضافية: الوسيطات التي سيتم تطبيقها عند توزيع Azure App Service. مثال:-disableLink:AppPoolExtension -disableLink:ContentExtension. لمزيد من الأمثلة على إعدادات عملية نشر الويب، راجع إعدادات عملية نشر الويب.

تثبيت Web Deploy على العامل من Web Deploy 3.6. يجب تثبيت Web Deploy 3.5 دون دعم SQL المجمع. ليست هناك حاجة لاختيار أي إعدادات مخصصة عند تثبيت Web Deploy. تم تثبيت Web Deploy على C:/Program Files (x86)/IIS/Microsoft Web Deploy V3.

واجهات برمجة تطبيقات Kudu REST

تعمل واجهات برمجة تطبيقات Kudu REST على كل من عوامل التشغيل التلقائي ل Windows وLinux عندما يكون الهدف هو تطبيق ويب على Windows أو Web App على Linux (المصدر المضمن) أو Function App. تستخدم المهمة Kudu لنسخ الملفات إلى خدمة Azure App.

Container Registry

يعمل على كل من عوامل التشغيل التلقائي ل Windows وLinux عندما يكون الهدف هو تطبيق ويب للحاويات. تقوم المهمة بتحديث التطبيق عن طريق تعيين سجل الحاوية المناسب والمستودع واسم الصورة ومعلومات العلامة. يمكنك أيضا استخدام المهمة لتمرير أمر بدء تشغيل لصورة الحاوية.

نشر Zip

يتوقع حزمة توزيع .zip وينشر محتويات الملف إلى مجلد wwwroot لخدمة التطبيقات أو تطبيق الوظائف في Azure. يقوم هذا الخيار بالكتابة فوق كافة المحتويات الموجودة في مجلد wwwroot . لمزيد من المعلومات، راجع توزيع Zip ل Azure Functions.

تشغيل من الحزمة

يتوقع نفس حزمة التوزيع مثل Zip Deploy. ومع ذلك، بدلا من نشر الملفات إلى مجلد wwwroot ، يتم تحميل الحزمة بأكملها بواسطة وقت تشغيل الوظائف وتصبح الملفات في مجلد wwwroot للقراءة فقط. لمزيد من المعلومات، راجع تشغيل Azure Functions من ملف حزمة.

نشر الحرب

يتوقع حزمة نشر .war وينشر محتوى الملف إلى مجلد wwwroot أو مجلد webapps لخدمة التطبيقات في Azure.

استكشاف الأخطاء وإصلاحها

لا يمكنني نشر الويب إلى Azure App Service باستخدام مصادقة Microsoft Entra ID من وكيل Windows الخاص بي

تدعم مهمة توزيع Azure App Service الاتصال ب Microsoft Azure باستخدام اتصال خدمة ARM باستخدام Microsoft Entra ID، ما لم تكن الشروط الثلاثة التالية موجودة:

  • أنت تستخدم تنسيق حزمة Web Deploy على عامل Windows
  • يعمل عاملك بإصدار أقدم من msdeploy.exe (على سبيل المثال عند استخدام صورة العامل المستضاف في windows-2019 )
  • تم تعطيل المصادقة الأساسية لخدمة تطبيقات Azure

إذا كانت هذه الشروط الثلاثة موجودة، فستتلقى خطأ مثل 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.

لحل هذه المشكلة، يمكنك الاختيار من بين الخيارات التالية، بترتيب التفضيل.

  1. تحديث صورة العامل. إذا كنت تستخدم عوامل مستضافة، فانتقل من windows-2019 إلى windows-2022 (أو windows-latest). إذا كنت تستخدم عوامل مستضافة ذاتيا، فقم بتثبيت Visual Studio 2022 على العامل للحصول على إصدار أحدث من msdeploy.exe.
  2. إذا كنت تعتمد على صورة عامل أقدم ولا يمكنك تحديث العامل للبنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك، ففكر في تقسيم المهمة بحيث يتم تشغيل مهمة توزيع Azure App Service على windows-2022 (أو windows-latest).
  3. إذا لم يكن أي من هذين الخيارين ممكنا، يمكنك تمكين المصادقة الأساسية ل Azure App Service.

خطأ: تعذر إحضار رمز الوصول المميز ل Azure. تحقق مما إذا كان كيان الخدمة المستخدم صالحا ولم تنته صلاحيته.

تستخدم المهمة كيان الخدمة في اتصال الخدمة للمصادقة مع Azure. إذا انتهت صلاحية كيان الخدمة أو لم يكن لديه أذونات لخدمة التطبيقات، تفشل المهمة مع هذا الخطأ. تحقق من صحة كيان الخدمة المستخدم وأنه موجود في تسجيل التطبيق. لمزيد من المعلومات، راجع استخدام التحكم في الوصول المستند إلى الدور لإدارة الوصول إلى موارد اشتراك Azure. يحتوي منشور المدونة هذا أيضا على مزيد من المعلومات حول استخدام المصادقة الأساسية للخدمة.

خطأ SSL

إذا كنت تريد استخدام شهادة في App Service، فيجب توقيع الشهادة من قبل مرجع مصدق موثوق به. إذا كان تطبيق الويب الخاص بك يمنحك أخطاء التحقق من صحة الشهادة، فمن المحتمل أنك تستخدم شهادة موقعة ذاتيا. قم بتعيين متغير مسمى VSTS_ARM_REST_IGNORE_SSL_ERRORS إلى القيمة true في البنية الأساسية لبرنامج ربط العمليات التجارية للإنشاء أو الإصدار لحل الخطأ.

يتوقف الإصدار لفترة طويلة ثم يفشل

قد تكون هذه المشكلة نتيجة لعدم كفاية السعة في خطة App Service. لحل هذه المشكلة، يمكنك توسيع نطاق مثيل App Service لزيادة وحدة المعالجة المركزية وذاكرة الوصول العشوائي ومساحة القرص المتوفرة أو محاولة استخدام خطة App Service مختلفة.

رموز الخطأ 5xx

إذا كنت ترى خطأ 5xx، فتحقق من حالة خدمة Azure.

توقفت وظيفة Azure فجأة عن العمل

قد تتوقف Azure Functions فجأة عن العمل إذا مر أكثر من عام واحد منذ التوزيع الأخير. إذا قمت بالتوزيع باستخدام "RunFromPackage" في "deploymentMethod"، يتم إنشاء SAS بتاريخ انتهاء صلاحية لمدة سنة واحدة وتعيينه كقيمة "WEBSITE_RUN_FROM_PACKAGE" في تكوين التطبيق. تستخدم Azure Functions SAS هذا للإشارة إلى ملف الحزمة لتنفيذ الدالة، لذلك إذا انتهت صلاحية SAS، فلن يتم تنفيذ الدالة. لحل هذه المشكلة، قم بالنشر مرة أخرى لإنشاء SAS بتاريخ انتهاء صلاحية لمدة عام واحد.

خطأ: لم يتم العثور على حزمة بنمط محدد

تحقق مما إذا كانت الحزمة المذكورة في المهمة منشورة كقطعة اصطناعية في البنية أو مرحلة سابقة وتم تنزيلها في الوظيفة الحالية.

خطأ: خيار النشر باستخدام zip deploy غير مدعوم لنوع حزمة msBuild

تحتوي حزم الويب التي تم إنشاؤها عبر مهمة MSBuild (باستخدام الوسيطات الافتراضية) على بنية مجلد متداخلة يمكن نشرها بشكل صحيح فقط بواسطة Web Deploy. لا يمكن استخدام خيار النشر من النشر إلى الرمز البريدي لنشر هذه الحزم. لتحويل بنية التعبئة والتغليف، اتبع الخطوات التالية:

  1. في مهمة إنشاء الحل، قم بتغيير وسيطات MSBuild إلى /p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent":

    لقطة شاشة تعرض قيم حل البناء.

  2. إضافة مهمة أرشفة وتغيير القيم كما يلي:

    1. قم بتغيير المجلد الجذر أو الملف للأرشفة إلى $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. قم بإلغاء تحديد خانة الاختيار اسم المجلد الجذر Prepend لأرشفة المسارات :

      لقطة شاشة تعرض قيم الأرشيف.

توزيع تطبيق الويب على Windows ناجح ولكن التطبيق لا يعمل

قد يكون ذلك بسبب عدم وجود web.config في تطبيقك. يمكنك إما إضافة ملف web.config إلى المصدر أو إنشاء ملف تلقائي باستخدام تحويلات الملفات وخيارات استبدال المتغير للمهمة.

  • انقر فوق المهمة وانتقل إلى إنشاء معلمات web.config لتطبيقات Python Node.js وGo وJava.

    لقطة شاشة لمربع حوار إنشاء معلمات web.config.

  • انقر فوق الزر المزيد إنشاء معلمات web.config لتطبيقات Python و Node.js و Go و Java لتحرير المعلمات.

    لقطة شاشة من القائمة المنسدلة لإطار عمل التطبيق.

  • حدد نوع التطبيق الخاص بك من القائمة المنسدلة.

  • انقر فوق "OK". سيؤدي ذلك إلى ملء المعلمات web.config المطلوبة لإنشاء web.config.

ملاحظة

تم إهمال هذا القسم وتم استبداله بمهمة تحويل الملفات .

ERROR_FILE_IN_USE

عند نشر تطبيقات .NET إلى Web App على Windows، قد يفشل التوزيع مع رمز الخطأ ERROR_FILE_IN_USE. لحل الخطأ، تأكد من تمكين إعادة تسمية الملفات المؤمنة وخيارات اتخاذ التطبيق دون اتصال في المهمة. بالنسبة إلى عمليات توزيع وقت التعطل الصفري، استخدم تبديل الفتحة.

يمكنك أيضا استخدام أسلوب نشر Run From Package لتجنب تأمين الموارد.

خطأ في نشر الويب

إذا كنت تستخدم توزيع الويب لنشر تطبيقك، في بعض سيناريوهات الخطأ، فسيعرض Web Deploy رمز خطأ في السجل. لاستكشاف أخطاء نشر الويب وإصلاحها، راجع رموز خطأ نشر الويب.

لا يعمل نشر تطبيق الويب على App Service Environment (ASE)

  • تأكد من أن عامل إنشاء Azure DevOps موجود على نفس VNET (يمكن أن تكون الشبكة الفرعية مختلفة) مثل موازن التحميل الداخلي (ILB) ل ASE. سيمكن هذا العامل من سحب التعليمات البرمجية من Azure DevOps ونشرها في ASE.
  • إذا كنت تستخدم Azure DevOps، فلن يحتاج العامل إلى الوصول إليه من الإنترنت ولكنه يحتاج فقط إلى الوصول الصادر للاتصال بخدمة Azure DevOps.
  • إذا كنت تستخدم TFS/Azure DevOps Server تم توزيعه في شبكة ظاهرية، يمكن عزل العامل تماما.
  • يجب تكوين عامل البناء مع تكوين DNS لتطبيق الويب الذي يحتاج إلى النشر إليه. نظرا لأن الموارد الخاصة في الشبكة الظاهرية لا تحتوي على إدخالات في Azure DNS، يجب إضافة هذا إلى ملف المضيفين على جهاز العامل.
  • إذا تم استخدام شهادة موقعة ذاتيا لتكوين ASE، -allowUntrusted فيجب تعيين الخيار في مهمة التوزيع ل MSDeploy. يوصى أيضا بتعيين المتغير VSTS_ARM_REST_IGNORE_SSL_ERRORS إلى صحيح. إذا تم استخدام شهادة من مرجع مصدق لتكوين ASE، يجب ألا يكون ذلك ضروريا. إذا كنت تقوم بالتوزيع إلى فتحة تم تكوينها للتبديل التلقائي، فسيفشل التبديل ما لم تقم بتعيين SCM_SKIP_SSL_VALIDATION أو SCM_SKIP_ASE_SSL_VALIDATION في 1 إعدادات تكوين خدمات التطبيق.

‏‫الأسئلة المتداولة

ما الفرق بين AzureWebApp المهام و AzureRmWebAppDeployment ؟

مهمة Azure Web App (AzureWebApp) هي أبسط طريقة للنشر إلى Azure Web App. بشكل افتراضي، يحدث التوزيع الخاص بك للتطبيق الجذر في Azure Web App.

يمكن لمهمة Azure App Service Deploy (AzureRmWebAppDeployment) معالجة المزيد من السيناريوهات المخصصة، مثل:

ملاحظة

يتم أيضًا دعم تحويلات الملفات واستبدال المتغيرات بواسطة مهمة تحويل الملفات المنفصلة للاستخدام في Azure Pipelines. يمكنك استخدام مهمة تحويل الملف لتطبيق تحويلات الملفات والاستبدالات المتغيرة على أي ملفات تكوين ومعلمات.

كيف يجب تكوين اتصال الخدمة الخاص بي؟

تتطلب هذه المهمة اتصال خدمة Azure Resource Manager.

كيف يجب تكوين توزيع مهمة الويب باستخدام Application Insights؟

عند التوزيع إلى App Service، إذا كان لديك Application Insights تم تكوينه وقمت بتمكين Remove additional files at destination، فستحتاج أيضا إلى تمكين Exclude files from the App_Data folder. يؤدي تمكين هذا الخيار إلى إبقاء ملحق Application Insights في حالة آمنة. هذه الخطوة مطلوبة لأن WebJob المستمر Application Insights مثبت في مجلد App_Data.

كيف يجب تكوين وكيلي إذا كان خلف وكيل أثناء النشر إلى App Service؟

إذا كان الوكيل المستضاف ذاتيا يتطلب وكيل ويب، يمكنك إعلام العامل بالوكيل أثناء التكوين. يسمح القيام بذلك لوكيلك بالاتصال ب Azure Pipelines أو Azure DevOps Server من خلال الوكيل. تعرف على المزيد حول تشغيل عامل مستضاف ذاتيا خلف وكيل ويب.

أمثلة

التوزيع إلى نوع تطبيق معين

للنشر إلى نوع تطبيق معين، اضبط appType على أي من القيم المقبولة التالية: webApp (تطبيق الويب على Windows)، webAppLinux (تطبيق الويب على Linux)، webAppContainer (تطبيق الويب للحاويات - Linux)، (تطبيق الوظائف على Windows)، functionAppfunctionAppLinux (تطبيق الوظائف على Linux)، functionAppContainer (تطبيق الوظائف للحاويات - Linux)، apiApp (تطبيق واجهة برمجة التطبيقات)، mobileApp (تطبيق الأجهزة المحمولة). إذا لم يذكر، webApp يتم أخذه كقيمة افتراضية.

لتمكين أي خيارات توزيع متقدمة، أضف المعلمة enableCustomDeployment: true وقم بتضمين المعلمات التالية حسب الحاجة.

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

التوزيع إلى حاوية Azure Web App Linux

يتم توزيع مثال YAML التالي إلى حاوية Azure Web App (Linux).

pool:
  vmImage: ubuntu-latest

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

steps:

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

نشر تطبيق ويب إلى خدمة تطبيقات Windows عبر فتحات التوزيع

ينشر المثال التالي تطبيق ويب إلى خدمة تطبيقات Windows عبر فتحات التوزيع.

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'

نموذج البرنامج النصي للتوزيع بعد

توفر المهمة خيارا لتخصيص التوزيع عن طريق توفير برنامج نصي سيتم تشغيله على Azure App Service بعد نسخ البيانات الاصطناعية للتطبيق بنجاح إلى App Service. يمكنك اختيار توفير إما برنامج نصي للتوزيع المضمن أو مسار واسم ملف البرنامج النصي في مجلد البيانات الاصطناعية.

هذا مفيد جدا عندما تريد استعادة تبعيات التطبيق مباشرة على App Service. تساعد استعادة الحزم لتطبيقات Node وPHP وpython على تجنب المهلات عندما تؤدي تبعية التطبيق إلى نسخ أداة كبيرة من العامل إلى Azure App Service.

مثال على البرنامج النصي للتوزيع هو:

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

المتطلبات

المتطلبات الوصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
المطالب بلا
القدرات لا تفي هذه المهمة بأي متطلبات للمهام اللاحقة في الوظيفة.
قيود الأوامر أي
متغيرات Settable أي
إصدار الوكيل 2.104.1 أو أحدث
فئة المهمة نشر

راجع أيضًا

  • يتم مصدر مفتوح هذه المهمة على GitHub. نرحب بالتعليقات والمساهمات.