AzureRmWebAppDeployment@4 – Azure App Service v4-Aufgabe bereitstellen
Verwenden Sie diese Aufgabe, um eine Web-, Mobile- oder API-App mit Docker, Java, .NET, .NET Core, Node.js, PHP, Python oder Ruby in Azure App Service bereitzustellen.
Anmerkung
Verwenden Sie AzureFunctionApp@1, um Azure Functions-Apps bereitzustellen.
Aktualisieren Sie Azure App Services unter Windows, Web App unter Linux mit integrierten Images oder Docker-Containern, ASP.NET, .NET Core, PHP, Python oder Node.js basierten Webanwendungen, Funktions-Apps unter Windows oder Linux mit Docker-Containern, mobilen Apps, API-Anwendungen und Webaufträgen mithilfe von Web Deploy/Kudu REST-APIs.
Syntax
# Azure App Service deploy v4
# Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription.
#PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
#PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password.
appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'webAppHyperVContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
WebAppName: # string. Required when ConnectionType = AzureRM. App Service name.
#deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group.
#SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
#DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack.
#RuntimeStackFunction: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer. Startup command.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer. Deployment script path.
# File Transforms & Variable Substitution Options
#WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings.
#ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings.
# Additional Deployment Options
#enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
#DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
#TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
#AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
#RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
# Azure App Service deploy v4
# Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription.
#PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
#PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password.
appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'webAppHyperVContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
WebAppName: # string. Required when ConnectionType = AzureRM. App Service name.
#deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group.
#SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
#DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack.
#RuntimeStackFunction: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer. Startup command.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script path.
# File Transforms & Variable Substitution Options
#WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings.
#ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings.
# Additional Deployment Options
#enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
#DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
#TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
#AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
#RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
# Azure App Service deploy v4
# Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription.
#PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
#PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password.
appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
WebAppName: # string. Required when ConnectionType = AzureRM. App Service name.
#deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group.
#SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
#DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack.
#RuntimeStackFunction: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux. Startup command.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script path.
# File Transforms & Variable Substitution Options
#WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings.
#ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings.
# Additional Deployment Options
#enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
#DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
#TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
#AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
#RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
# Azure App Service deploy v4
# Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription.
#PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
#PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password.
appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
WebAppName: # string. Required when ConnectionType = AzureRM. App Service name.
#deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group.
#SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
#DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack.
#RuntimeStackFunction: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux. Startup command.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script path.
# File Transforms & Variable Substitution Options
#WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings.
#ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings.
# Additional Deployment Options
#enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
#DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
#TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
#AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
#RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
# Azure App Service Deploy v4
# Update Azure App Services on Windows, Web App on Linux with built-in images or Docker containers, ASP.NET, .NET Core, PHP, Python or Node.js based Web applications, Function Apps on Windows or Linux with Docker Containers, Mobile Apps, API applications, Web Jobs using Web Deploy / Kudu REST APIs.
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM' # 'AzureRM' | 'PublishProfile'. Required. Connection type. Default: AzureRM.
azureSubscription: # string. Alias: ConnectedServiceName. Required when ConnectionType = AzureRM. Azure subscription.
#PublishProfilePath: '$(System.DefaultWorkingDirectory)/**/*.pubxml' # string. Required when ConnectionType = PublishProfile. Publish profile path. Default: $(System.DefaultWorkingDirectory)/**/*.pubxml.
#PublishProfilePassword: # string. Required when ConnectionType = PublishProfile. Publish profile password.
appType: 'webApp' # 'webApp' | 'webAppLinux' | 'webAppContainer' | 'functionApp' | 'functionAppLinux' | 'functionAppContainer' | 'apiApp' | 'mobileApp'. Alias: WebAppKind. Required when ConnectionType = AzureRM. App Service type. Default: webApp.
WebAppName: # string. Required when ConnectionType = AzureRM. App Service name.
#deployToSlotOrASE: false # boolean. Alias: DeployToSlotOrASEFlag. Optional. Use when ConnectionType = AzureRM && WebAppKind != "". Deploy to Slot or App Service Environment. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotOrASEFlag = true. Resource group.
#SlotName: 'production' # string. Required when DeployToSlotOrASEFlag = true. Slot. Default: production.
#DockerNamespace: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != "". Virtual application.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: Package. Required when ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Optional. Use when WebAppKind = webAppLinux. Runtime Stack.
#RuntimeStackFunction: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when WebAppKind = functionAppLinux. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer. Startup command.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer. Deployment script path.
# File Transforms & Variable Substitution Options
#WebConfigParameters: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. Optional. Use when ConnectionType = AzureRM. App settings.
#ConfigurationSettings: # string. Optional. Use when ConnectionType = AzureRM. Configuration settings.
# Additional Deployment Options
#enableCustomDeployment: false # boolean. Alias: UseWebDeploy. Optional. Use when ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Select deployment method. Default: false.
#DeploymentType: 'webDeploy' # 'webDeploy' | 'zipDeploy' | 'runFromZip'. Required when UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: webDeploy.
#TakeAppOfflineFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Take App Offline. Default: true.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Exclude files from the App_Data folder. Default: true.
#AdditionalArguments: '-retryAttempts:6 -retryInterval:10000' # string. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Additional arguments. Default: -retryAttempts:6 -retryInterval:10000.
#RenameFilesFlag: true # boolean. Optional. Use when UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar. Rename locked files. Default: true.
Eingänge
ConnectionType
-
Verbindungstyp
string
. Erforderlich. Zulässige Werte: AzureRM
(Azure Resource Manager), PublishProfile
(Publish Profile). Standardwert: AzureRM
.
Geben Sie den Dienstverbindungstyp an, der zum Bereitstellen der Web App verwendet werden soll.
Geben Sie Publish Profile
für die Verwendung von Visual Studio an, die Veröffentlichungsprofileerstellt wurde.
ConnectionType
-
Verbindungstyp
string
. Erforderlich. Zulässige Werte: AzureRM
(Azure Resource Manager), PublishProfile
(Publish Profile). Standardwert: AzureRM
.
Geben Sie den Dienstverbindungstyp an, der zum Bereitstellen der Web App verwendet werden soll.
azureSubscription
-
Azure-Abonnement
Eingabealias: ConnectedServiceName
.
string
. Erforderlich, wenn ConnectionType = AzureRM
.
Geben Sie das Azure Resource Manager-Abonnement für die Bereitstellung an.
PublishProfilePath
-
Veröffentlichungsprofilpfad
string
. Erforderlich, wenn ConnectionType = PublishProfile
. Standardwert: $(System.DefaultWorkingDirectory)/**/*.pubxml
.
Der Pfad des Veröffentlichungsprofils aus Visual Studio erstellt.
PublishProfilePassword
-
Profilkennwort veröffentlichen
string
. Erforderlich, wenn ConnectionType = PublishProfile
.
Es wird empfohlen, ein Kennwort in einer geheimen Variablen zu speichern und diese Variable hier z. B. $(Password)
zu verwenden.
appType
-
App Service-Typ
Eingabealias: WebAppKind
.
string
. Erforderlich, wenn ConnectionType = AzureRM
. Zulässige Werte: webApp
(Web App unter Windows), webAppLinux
(Web App unter Linux), webAppContainer
(Web App für Container (Linux)), webAppHyperVContainer
(Web App für Container (Windows)), functionApp
(Funktions-App unter Windows (nicht empfohlen, Verwenden von Azure Functions Task)), functionAppLinux
(Funktions-App unter Linux (nicht empfohlen, Azure-Funktionen-Aufgabe verwenden)), functionAppContainer
(Funktions-App für Container (Linux) (nicht empfohlen, Azure-Funktionen für Containeraufgabe verwenden)) apiApp
(API-App), mobileApp
(Mobile App). Standardwert: webApp
.
Wählen Sie unter Web App unter Windows, Web App unter Linux, Web App für Container, Funktions-App, Funktions-App unter Linux, Funktions-App für Container und mobile Apps aus.
appType
-
App Service-Typ
Eingabealias: WebAppKind
.
string
. Erforderlich, wenn ConnectionType = AzureRM
. Zulässige Werte: webApp
(Web App unter Windows), webAppLinux
(Web App unter Linux), webAppContainer
(Web App für Container (Linux)), functionApp
(Funktions-App unter Windows), functionAppLinux
(Funktions-App unter Linux), functionAppContainer
(Funktions-App für Container (Linux)), apiApp
(API-App), mobileApp
(Mobile App). Standardwert: webApp
.
Wählen Sie unter Web App unter Windows, Web App unter Linux, Web App für Container, Funktions-App, Funktions-App unter Linux, Funktions-App für Container und mobile Apps aus.
WebAppName
-
App Service-Name
string
. Erforderlich, wenn ConnectionType = AzureRM
.
Geben Sie den Namen eines vorhandenen Azure App Service an. App-Dienste, die auf dem ausgewählten App-Typ basieren, werden nur bei Verwendung des Aufgaben-Assistenten aufgelistet.
deployToSlotOrASE
-
Bereitstellen im Slot- oder App Service Environment-
Eingabealias: DeployToSlotOrASEFlag
.
boolean
. Wahlfrei. Wird verwendet, wenn ConnectionType = AzureRM && WebAppKind != ""
. Standardwert: false
.
Geben Sie die Option für die Bereitstellung an einem vorhandenen Bereitstellungsplatz oder in einer Azure App Service-Umgebung an. Für beide Ziele erfordert der Vorgang einen Ressourcengruppennamen.
Wenn es sich bei dem Bereitstellungsziel um einen Steckplatz handelt, ist die Bereitstellung standardmäßig der Production Slot. Jeder andere vorhandene Slotname kann bereitgestellt werden.
Wenn es sich bei dem Bereitstellungsziel um eine Azure App Service-Umgebung handelt, lassen Sie den Slotnamen als Production
und geben Sie nur den Namen der Ressourcengruppe an.
ResourceGroupName
-
Ressourcengruppe
string
. Erforderlich, wenn DeployToSlotOrASEFlag = true
.
Der Ressourcengruppenname ist erforderlich, wenn das Bereitstellungsziel entweder ein Bereitstellungsplatz oder eine App Service-Umgebung ist.
Geben Sie die Azure-Ressourcengruppe an, die den oben angegebenen Azure App Service enthält.
SlotName
-
Slot-
string
. Erforderlich, wenn DeployToSlotOrASEFlag = true
. Standardwert: production
.
Geben Sie einen anderen Steckplatz als den Produktionsplatz an.
DockerNamespace
-
Registrierungs- oder Namespace-
string
. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
.
Ein global eindeutiger Domänenname auf oberster Ebene für Ihre spezifische Registrierung oder Ihren Namespace. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerNamespace
-
Registrierungs- oder Namespace-
string
. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
.
Ein global eindeutiger Domänenname auf oberster Ebene für Ihre spezifische Registrierung oder Ihren Namespace. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerNamespace
-
Registrierungs- oder Namespace-
string
. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer
.
Ein global eindeutiger Domänenname auf oberster Ebene für Ihre spezifische Registrierung oder Ihren Namespace. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerRepository
-
Bild-
string
. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
.
Der Name des Repositorys, in dem die Containerimages gespeichert sind. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerRepository
-
Bild-
string
. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
.
Der Name des Repositorys, in dem die Containerimages gespeichert sind. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerRepository
-
Bild-
string
. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer
.
Der Name des Repositorys, in dem die Containerimages gespeichert sind. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerImageTag
-
Tag-
string
. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
.
Tags sind der Mechanismus, mit dem Registrierungen Versionsinformationen auf Docker-Images angewendet werden. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerImageTag
-
Tag-
string
. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
.
Tags sind der Mechanismus, mit dem Registrierungen Versionsinformationen auf Docker-Images angewendet werden. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerImageTag
-
Tag-
string
. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer
.
Tags sind der Mechanismus, mit dem Registrierungen Versionsinformationen auf Docker-Images angewendet werden. Hinweis: Der vollqualifizierte Bildname hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
VirtualApplication
-
virtuelle Anwendung
string
. Wahlfrei. Wird verwendet, wenn WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != ""
.
Geben Sie den Namen der virtuellen Anwendung an, die im Azure-Portal konfiguriert wurde. Diese Option ist für Bereitstellungen im Websitestamm nicht erforderlich. Die virtuelle Anwendung muss vor der Bereitstellung des Webprojekts konfiguriert worden sein.
VirtualApplication
-
virtuelle Anwendung
string
. Wahlfrei. Wird verwendet, wenn WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != ""
.
Geben Sie den Namen der virtuellen Anwendung an, die im Azure-Portal konfiguriert wurde. Diese Option ist für Bereitstellungen im Websitestamm nicht erforderlich. Die virtuelle Anwendung muss vor der Bereitstellung des Webprojekts konfiguriert worden sein.
packageForLinux
-
Paket- oder Ordner-
Eingabealias: Package
.
string
. Erforderlich, wenn ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux
. Standardwert: $(System.DefaultWorkingDirectory)/**/*.zip
.
Der Dateipfad zum Paket oder zu einem Ordner mit App-Dienstinhalten, die von MSBuild oder einer komprimierten ZIP- oder War-Datei generiert werden.
Variablen sind Build und Release. werden von Wildcards unterstützt.
Beispiel: $(System.DefaultWorkingDirectory)/\*\*/\*.zip
oder $(System.DefaultWorkingDirectory)/\*\*/\*.war
.
RuntimeStack
-
Runtime Stack
string
. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppLinux
.
Geben Sie das Framework und die Version an.
RuntimeStackFunction
-
Runtime Stack
string
. Wahlfrei. Wird verwendet, wenn WebAppKind = functionAppLinux
. Zulässige Werte: 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)).
Geben Sie das Framework und die Version an. Informationen zu den Azure Functions-Laufzeitversionen finden Sie in der Übersicht für unterstützte Laufzeitversionen. Alte Werte wie DOCKER|microsoft/azure-functions-*
sind veraltet. Verwenden Sie die neuen Werte aus der Dropdownliste.
RuntimeStackFunction
-
Runtime Stack
string
. Wahlfrei. Wird verwendet, wenn WebAppKind = functionAppLinux
. Zulässige Werte: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0
(.NET), DOCKER|microsoft/azure-functions-node8:2.0
(JavaScript).
Geben Sie das Framework und die Version an.
StartupCommand
-
Startbefehl
string
. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer
.
Geben Sie den Startbefehl an. Zum Beispiel:
dotnet exec filename.dll
dotnet filename.dll
.
StartupCommand
-
Startbefehl
string
. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer
.
Geben Sie den Startbefehl an. Zum Beispiel:
dotnet exec filename.dll
dotnet filename.dll
.
StartupCommand
-
Startbefehl
string
. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux
.
Geben Sie den Startbefehl an. Zum Beispiel:
dotnet exec filename.dll
dotnet filename.dll
.
StartupCommand
-
Startbefehl
string
. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux
.
Geben Sie den Startbefehl an. Beispiel: dotnet run
dotnet filename.dll
.
StartupCommand
-
Startbefehl
string
. Wahlfrei. Wird verwendet, wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer
.
Geben Sie den Startbefehl an.
ScriptType
-
Bereitstellungsskripttyp
string
. Wahlfrei. Wird verwendet, wenn ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
. Zulässige Werte: Inline Script
, File Path
(Skriptdateipfad).
Passt die Bereitstellung an, indem ein Skript bereitgestellt wird, das nach erfolgreicher Bereitstellung auf dem Azure App Service ausgeführt wird. Wählen Sie inlinebereitstellungsskript oder den Pfad und Namen einer Skriptdatei aus. Erfahren Sie mehr über Azure App Service Deployment.
ScriptType
-
Bereitstellungsskripttyp
string
. Wahlfrei. Wird verwendet, wenn ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
. Zulässige Werte: Inline Script
, File Path
(Skriptdateipfad).
Passt die Bereitstellung an, indem ein Skript bereitgestellt wird, das nach erfolgreicher Bereitstellung auf dem Azure App Service ausgeführt wird. Wählen Sie inlinebereitstellungsskript oder den Pfad und Namen einer Skriptdatei aus. Erfahren Sie mehr über Azure App Service Deployment.
InlineScript
-
Inlineskript-
string
. Erforderlich, wenn ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
. Standardwert: :: You can provide your deployment commands here. One command per line.
.
Das auszuführende Skript. Hier können Sie Ihre Bereitstellungsbefehle , einen Befehl pro Zeile, bereitstellen. Sehen Sie sich das folgende Beispiel an.
InlineScript
-
Inlineskript-
string
. Erforderlich, wenn ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
. Standardwert: :: You can provide your deployment commands here. One command per line.
.
Das auszuführende Skript. Hier können Sie Ihre Bereitstellungsbefehle , einen Befehl pro Zeile, bereitstellen. Sehen Sie sich das folgende Beispiel an.
ScriptPath
-
Pfad des Bereitstellungsskripts
string
. Erforderlich, wenn ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
.
Der Pfad und der Name des auszuführenden Skripts.
ScriptPath
-
Pfad des Bereitstellungsskripts
string
. Erforderlich, wenn ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
.
Der Pfad und der Name des auszuführenden Skripts.
WebConfigParameters
-
Generieren web.config Parameter für Python, Node.js, Go- und Java-Apps
string
. Wahlfrei. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
.
Ein Standard-Web.config
wird generiert und in Azure App Service bereitgestellt, wenn die Anwendung nicht über eine verfügt. Die Werte in web.config
können bearbeitet und je nach Anwendungsframework variieren. For example, for node.js
applications, web.config
will have a Startup file and iis_node module values. Dieses Bearbeitungsfeature ist nur für die generierte web.config
vorgesehen. Erfahren Sie mehr über Azure App Service Deployment.
WebConfigParameters
-
Generieren web.config Parameter für Python, Node.js, Go- und Java-Apps
string
. Wahlfrei. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
.
Ein Standard-Web.config
wird generiert und in Azure App Service bereitgestellt, wenn die Anwendung nicht über eine verfügt. Die Werte in web.config
können bearbeitet und je nach Anwendungsframework variieren. For example, for node.js
applications, web.config
will have a Startup file and iis_node module values. Dieses Bearbeitungsfeature ist nur für die generierte web.config
vorgesehen. Erfahren Sie mehr über Azure App Service Deployment.
AppSettings
-
App-Einstellungen
string
. Wahlfrei. Wird verwendet, wenn ConnectionType = AzureRM
.
Bearbeitet Web App-Anwendungseinstellungen mithilfe der Syntax -key value
. Werte, die Leerzeichen enthalten, müssen in doppelte Anführungszeichen eingeschlossen werden. Beispiele: -Port 5000 -RequestTimeout 5000
und -WEBSITE_TIME_ZONE "Eastern Standard Time"
. Um zwei oder mehr Schlüsselwerte bereitzustellen, müssen die Schlüsselwerte durch ein Leerzeichen getrennt werden. Beispiel: -key1 "Value1" -Key2 "Value2"
.
ConfigurationSettings
-
Konfigurationseinstellungen
string
. Wahlfrei. Wird verwendet, wenn ConnectionType = AzureRM
.
Bearbeitet Web App-Konfigurationseinstellungen mithilfe der Syntax -key value
. Werte, die Leerzeichen enthalten, müssen in doppelte Anführungszeichen eingeschlossen werden. Beispiel: -phpVersion 5.6 -linuxFxVersion node|6.11
.
enableCustomDeployment
-
Select-Bereitstellungsmethode
Eingabealias: UseWebDeploy
.
boolean
. Wahlfrei. Wird verwendet, wenn ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert: false
.
Wenn das Kontrollkästchen deaktiviert oder falsch ist, erkennt die Aufgabe automatisch die beste Bereitstellungsmethode basierend auf dem App-Typ, paketformat und anderen Parametern. Aktivieren Sie diese Option im Aufgaben-Assistenten, um die unterstützten Bereitstellungsmethoden anzuzeigen, und wählen Sie eine für die Bereitstellung Ihrer App aus.
enableCustomDeployment
-
Select-Bereitstellungsmethode
Eingabealias: UseWebDeploy
.
boolean
. Wahlfrei. Wird verwendet, wenn ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert: false
.
Wenn das Kontrollkästchen deaktiviert oder falsch ist, erkennt die Aufgabe automatisch die beste Bereitstellungsmethode basierend auf dem App-Typ, paketformat und anderen Parametern. Aktivieren Sie diese Option im Aufgaben-Assistenten, um die unterstützten Bereitstellungsmethoden anzuzeigen, und wählen Sie eine für die Bereitstellung Ihrer App aus.
DeploymentType
-
Bereitstellungsmethode
string
. Erforderlich, wenn UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Zulässige Werte: webDeploy
(Web Deploy), zipDeploy
(Zip Deploy), runFromZip
(Run From Package). Standardwert: webDeploy
.
Bestimmt die Bereitstellungsmethode für die App.
DeploymentType
-
Bereitstellungsmethode
string
. Erforderlich, wenn UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Zulässige Werte: webDeploy
(Web Deploy), zipDeploy
(Zip Deploy), runFromZip
(Run From Package). Standardwert: webDeploy
.
Bestimmt die Bereitstellungsmethode für die App.
TakeAppOfflineFlag
-
App offline
boolean
. Wahlfrei. Wird verwendet, wenn UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert: true
.
Geben Sie diese Option an, um den Azure App Service offline zu schalten, indem Sie eine app_offline.htm
Datei im Stammverzeichnis platzieren, bevor der Synchronisierungsvorgang beginnt. Die Datei wird entfernt, nachdem die Synchronisierung erfolgreich abgeschlossen wurde.
TakeAppOfflineFlag
-
App offline
boolean
. Wahlfrei. Wird verwendet, wenn UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert: true
.
Geben Sie diese Option an, um den Azure App Service offline zu schalten, indem Sie eine app_offline.htm
Datei im Stammverzeichnis platzieren, bevor der Synchronisierungsvorgang beginnt. Die Datei wird entfernt, nachdem die Synchronisierung erfolgreich abgeschlossen wurde.
SetParametersFile
-
SetParameters-Datei
string
. Wahlfrei. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
.
Der Speicherort der zu verwendenden SetParameters.xml
Datei.
SetParametersFile
-
SetParameters-Datei
string
. Wahlfrei. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
.
Der Speicherort der zu verwendenden SetParameters.xml
Datei.
RemoveAdditionalFilesFlag
-
Entfernen zusätzlicher Dateien am Ziel-
boolean
. Wahlfrei. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert: false
.
Geben Sie 'true' an, um Dateien im Azure App Service zu löschen, die keine übereinstimmenden Dateien im App Service-Paket oder -Ordner enthalten. Dadurch werden auch alle Dateien entfernt, die mit jeder Erweiterung verbunden sind, die auf diesem Azure App Service installiert ist. Um dies zu verhindern, aktivieren Sie das Kontrollkästchen Exclude files from App_Data folder
.
RemoveAdditionalFilesFlag
-
Entfernen zusätzlicher Dateien am Ziel-
boolean
. Wahlfrei. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert: false
.
Geben Sie 'true' an, um Dateien im Azure App Service zu löschen, die keine übereinstimmenden Dateien im App Service-Paket oder -Ordner enthalten. Dadurch werden auch alle Dateien entfernt, die mit jeder Erweiterung verbunden sind, die auf diesem Azure App Service installiert ist. Um dies zu verhindern, aktivieren Sie das Kontrollkästchen Exclude files from App_Data folder
.
ExcludeFilesFromAppDataFlag
-
Dateien aus dem App_Data Ordner ausschließen
boolean
. Wahlfrei. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert: true
.
Geben Sie die Option an, um zu verhindern, dass Dateien im App_Data
Ordner aus dem Azure App Service bereitgestellt/gelöscht werden.
ExcludeFilesFromAppDataFlag
-
Dateien aus dem App_Data Ordner ausschließen
boolean
. Wahlfrei. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert: true
.
Geben Sie die Option an, um zu verhindern, dass Dateien im App_Data
Ordner aus dem Azure App Service bereitgestellt/gelöscht werden.
AdditionalArguments
-
Zusätzliche Argumente
string
. Wahlfrei. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert: -retryAttempts:6 -retryInterval:10000
.
Zusätzliche Web Deploy-Argumente nach der Syntax -key:value
. Diese werden beim Bereitstellen des Azure App Service angewendet. Beispiele: -disableLink:AppPoolExtension -disableLink:ContentExtension
. Erfahren Sie mehr über Web Deploy Operation Settings.
AdditionalArguments
-
Zusätzliche Argumente
string
. Wahlfrei. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert: -retryAttempts:6 -retryInterval:10000
.
Zusätzliche Web Deploy-Argumente nach der Syntax -key:value
. Diese werden beim Bereitstellen des Azure App Service angewendet. Beispiele: -disableLink:AppPoolExtension -disableLink:ContentExtension
. Erfahren Sie mehr über Web Deploy Operation Settings.
RenameFilesFlag
-
Gesperrte Dateien umbenennen
boolean
. Wahlfrei. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert: true
.
Geben Sie den Standardwert an, um das msdeploy-Flag MSDEPLOY_RENAME_LOCKED_FILES=1
in den Azure App Service-Anwendungseinstellungen zu aktivieren. Wenn diese Option festgelegt ist, kann msdeploy Dateien umbenennen, die während der App-Bereitstellung gesperrt sind.
RenameFilesFlag
-
Gesperrte Dateien umbenennen
boolean
. Wahlfrei. Wird verwendet, wenn UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert: true
.
Geben Sie den Standardwert an, um das msdeploy-Flag MSDEPLOY_RENAME_LOCKED_FILES=1
in den Azure App Service-Anwendungseinstellungen zu aktivieren. Wenn diese Option festgelegt ist, kann msdeploy Dateien umbenennen, die während der App-Bereitstellung gesperrt sind.
enableXmlTransform
-
XML-Transformation
Eingabealias: XmlTransformation
.
boolean
. Wahlfrei. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
. Standardwert: false
.
Die Konfigurationstransformationen werden für *.Release.config
und *.<EnvironmentName>.config
für die *.config file
ausgeführt. Konfigurationstransformationen werden vor der Variablenersetzung ausgeführt.
XML-Transformationen werden nur für die Windows-Plattform unterstützt.
enableXmlTransform
-
XML-Transformation
Eingabealias: XmlTransformation
.
boolean
. Wahlfrei. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
. Standardwert: false
.
Die Konfigurationstransformationen werden für *.Release.config
und *.<EnvironmentName>.config
für die *.config file
ausgeführt. Konfigurationstransformationen werden vor der Variablenersetzung ausgeführt.
XML-Transformationen werden nur für die Windows-Plattform unterstützt.
enableXmlVariableSubstitution
-
XML-Variablenersetzung
Eingabealias: XmlVariableSubstitution
.
boolean
. Wahlfrei. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
. Standardwert: false
.
Variablen, die in der Build- oder Releasepipeline definiert sind, werden mit den Schlüssel- oder Namenseinträgen in den Abschnitten configSections
, appSettings
, applicationSettings
und connectionStrings
jeder Konfigurationsdatei und parameters.xml
Datei abgeglichen. Die Variablenersetzung wird nach Konfigurationstransformationen ausgeführt.
Wenn die gleichen Variablen in der Releasepipeline und in der Phase definiert sind, werden die Phasenvariablen die Releasepipelinevariablen ersetzt. Weitere Informationen zu [XML-Variablenersetzung]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).
enableXmlVariableSubstitution
-
XML-Variablenersetzung
Eingabealias: XmlVariableSubstitution
.
boolean
. Wahlfrei. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
. Standardwert: false
.
Variablen, die in der Build- oder Releasepipeline definiert sind, werden mit den Schlüssel- oder Namenseinträgen in den Abschnitten configSections
, appSettings
, applicationSettings
und connectionStrings
jeder Konfigurationsdatei und parameters.xml
Datei abgeglichen. Die Variablenersetzung wird nach Konfigurationstransformationen ausgeführt.
Wenn die gleichen Variablen in der Releasepipeline und in der Phase definiert sind, werden die Phasenvariablen die Releasepipelinevariablen ersetzt. Weitere Informationen zu [XML-Variablenersetzung]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).
JSONFiles
-
JSON-Variablenersetzung
string
. Wahlfrei. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
.
Stellt eine newlinetrennte Liste von JSON-Dateien bereit, um die Variablenwerte zu ersetzen. Dateinamen müssen relativ zum Stammordner sein. Wenn Sie JSON-Variablen ersetzen möchten, die geschachtelt oder hierarchisch sind, geben Sie diese mithilfe JSONPath
Ausdrücke an. Um beispielsweise den Wert von ConnectionString
im folgenden Beispiel zu ersetzen, definieren Sie eine Variable namens Data.DefaultConnection.ConnectionString
in der Build- oder Releasepipeline (oder Releasepipelinestufe).
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
Eine Variablenersetzung wird nach Konfigurationstransformationen ausgeführt. Hinweis: Build- und Releasepipelinevariablen werden von der Ersetzung ausgeschlossen. Erfahren Sie mehr über JSON-Variablenersetzung.
JSONFiles
-
JSON-Variablenersetzung
string
. Wahlfrei. Wird verwendet, wenn WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
.
Stellt eine newlinetrennte Liste von JSON-Dateien bereit, um die Variablenwerte zu ersetzen. Dateinamen müssen relativ zum Stammordner sein. Wenn Sie JSON-Variablen ersetzen möchten, die geschachtelt oder hierarchisch sind, geben Sie diese mithilfe JSONPath
Ausdrücke an. Um beispielsweise den Wert von ConnectionString
im folgenden Beispiel zu ersetzen, definieren Sie eine Variable namens Data.DefaultConnection.ConnectionString
in der Build- oder Releasepipeline (oder Releasepipelinestufe).
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
Eine Variablenersetzung wird nach Konfigurationstransformationen ausgeführt. Hinweis: Build- und Releasepipelinevariablen werden von der Ersetzung ausgeschlossen. Erfahren Sie mehr über JSON-Variablenersetzung.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Mit dieser Aufgabe werden die folgenden Ausgabevariablendefiniert, die Sie in nachgeschalteten Schritten, Aufträgen und Phasen verwenden können.
AppServiceApplicationUrl
Anwendungs-URL des ausgewählten App-Diensts.
Bemerkungen
- Voraussetzungen für den Vorgang
- Hinweise zur Nutzung
- Bereitstellungsmethoden
- Problembehandlung für
- häufig gestellte Fragen
Verwenden Sie diese Aufgabe, um sie in einem Bereich von App Services in Azure bereitzustellen. Die Aufgabe funktioniert auf plattformübergreifenden Agents unter Windows, Linux oder Mac und verwendet verschiedene zugrunde liegenden Bereitstellungstechnologien.
Die Aufgabe funktioniert für ASP.NET, ASP.NET Core, PHP, Java, Python, Gound Node.js basierte Webanwendungen.
Die Aufgabe kann zum Bereitstellen in einem Bereich von Azure App Services verwendet werden, z. B.:
- Web Apps sowohl unter Windows als auch unter Linux
- Web Apps für Container
- -Funktions-Apps für Windows- und Linux-
- Funktions-Apps für Container
- WebJobs-
- Unter Azure App Service-Umgebungen konfigurierte Apps
Voraussetzungen für den Vorgang
Die folgenden Voraussetzungen müssen in den Zielcomputern eingerichtet werden, damit die Aufgabe ordnungsgemäß funktioniert.
App Service-Instanz. Die Aufgabe wird verwendet, um ein Web App-Projekt oder ein Azure Function-Projekt in einer vorhandenen Azure App Service-Instanz bereitzustellen, die vorhanden sein muss, bevor die Aufgabe ausgeführt wird. Die App Service-Instanz kann über das Azure-Portal erstellt und dort konfiguriert werden. Alternativ kann die Azure PowerShell-Aufgabe verwendet werden, um Azure PowerShell-Skripts zum Bereitstellen und Konfigurieren der Web App auszuführen.
Azure-Abonnement. Für die Bereitstellung in Azure muss ein Azure-Abonnement mit der Pipeline-verknüpft sein. Die Aufgabe funktioniert nicht mit der Azure Classic-Dienstverbindung, und sie listet diese Verbindungen nicht in den Einstellungen der Aufgabe auf.
Verwendungshinweise
- Der Vorgang funktioniert nur mit den Azure Resource Manager-APIs.
- Um SSL-Fehler zu ignorieren, definieren Sie eine Variable namens
VSTS_ARM_REST_IGNORE_SSL_ERRORS
mit dem Werttrue
in der Pipeline. Wenn Sie eine Bereitstellung auf einem für den automatischen Swap konfigurierten Steckplatz vornehmen, schlägt der Swap fehl, es sei denn, Sie legenSCM_SKIP_SSL_VALIDATION
oderSCM_SKIP_ASE_SSL_VALIDATION
in den Konfigurationseinstellungen für App-Dienste auf1
fest. - Vermeiden Sie bei .NET-Apps, die auf Web App unter Windows abzielen, einen Bereitstellungsfehler mit dem Fehler
ERROR_FILE_IN_USE
, indem Sie sicherstellen, dass gesperrte Dateien umbenennen und Einstellungen für "App offline" aktiviert sind. Verwenden Sie für die Bereitstellung von Ausfallzeiten die Option "Steckplatztausch". - Stellen Sie beim Bereitstellen in einem App-Dienst, der Application Insights konfiguriert ist, und Sie Entfernen zusätzlicher Dateien am Zielaktiviert haben, stellen Sie sicher, dass Sie auch Dateien aus dem ordner App_Data ausschließen, um die Erweiterung "Application Insights" in einem sicheren Zustand zu verwalten. Dies ist erforderlich, da der fortlaufende Webauftrag "Application Insights" im ordner "App_Data" installiert ist.
Bereitstellungsmethoden
In dieser Aufgabe stehen mehrere Bereitstellungsmethoden zur Verfügung. Web Deploy (msdeploy.exe) ist die Standardeinstellung. Um die Bereitstellungsoption zu ändern, erweitern Sie zusätzliche Bereitstellungsoptionen, und aktivieren Sie Auswählen der Bereitstellungsmethode, um aus zusätzlichen paketbasierten Bereitstellungsoptionen auszuwählen.
Basierend auf dem Typ von Azure App Service und Agent wählt die Aufgabe eine geeignete Bereitstellungstechnologie aus. Die verschiedenen Bereitstellungstechnologien, die von der Aufgabe verwendet werden, sind:
- Web Deploy
- Kudu REST-APIs
- Containerregistrierung
- Zip Deploy
- Vom Paket- ausführen
- Kriegsbereitstellung
Standardmäßig versucht die Aufgabe, die entsprechende Bereitstellungstechnologie basierend auf dem Eingabepakettyp, dem App-Diensttyp und dem Agent-Betriebssystem auszuwählen.
Logik für die automatische Erkennung
Für Windows-basierte Agents.
App-Diensttyp | Pakettyp | Deployment-Methode |
---|---|---|
WebApp unter Linux oder Funktions-App unter Linux | Ordner/Zip/Jar Krieg |
Zip Deploy War Deploy |
WebApp für Container (Linux) oder Funktions-App für Container (Linux) | Aktualisieren der App-Einstellungen | NA |
WebApp unter Windows, Funktions-App unter Windows, API-App oder mobile App | War Jar MsBuild-Pakettyp oder Bereitstellung in virtuellen Anwendungen Ordner/Zip |
War Deploy Zip Deploy Web Deploy if postDeploymentScript == true, Zip Deploy else, Run From Package |
Bei Nicht-Windows-Agents (für jeden App Service-Typ) basiert die Aufgabe auf Kudu-REST-APIs für die Bereitstellung der App.
Web Deploy
Web Deploy (msdeploy.exe) kann verwendet werden, um eine Web App unter Windows oder eine Funktions-App mit einem Windows-Agent im Azure App Service bereitzustellen. Web Deploy ist funktionsreich und bietet Optionen wie:
Gesperrte Dateien umbenennen: Benennen Sie alle Dateien um, die noch vom Webserver verwendet werden, indem Sie das Msdeploy-Flag
MSDEPLOY\_RENAME\_LOCKED\_FILES=1
in den Azure App Service-Einstellungen aktivieren. Wenn diese Option festgelegt ist, kann msdeploy Dateien umbenennen, die während der App-Bereitstellung gesperrt sind.Entfernen zusätzlicher Dateien am Ziel: Löscht Dateien im Azure App Service, die keine übereinstimmenden Dateien im App Service-Artefaktpaket oder -Ordner bereitgestellt haben.
Dateien aus dem ordner App_Data ausschließen: Verhindern von Dateien im Ordner App_Data (im bereitgestellten Artefaktpaket/Ordner) im Azure App Service
Zusätzliche Webbereitstellungsargumente: Argumente, die beim Bereitstellen des Azure App Service angewendet werden. Beispiel:
-disableLink:AppPoolExtension -disableLink:ContentExtension
. Weitere Beispiele für Web Deploy-Vorgangseinstellungen finden Sie unter Web Deploy Operation Settings.
Installieren Sie Web Deploy auf dem Agent von Web Deploy 3.6. Web Deploy 3.5 muss ohne die gebündelte SQL-Unterstützung installiert werden. Beim Installieren von Web Deploy müssen keine benutzerdefinierten Einstellungen ausgewählt werden. Web Deploy wird bei C:/Program Files (x86)/IIS/Microsoft Web Deploy V3
installiert.
Kudu-REST-APIs
Kudu-REST-APIs sowohl für Windows- als auch für Linux-Automatisierungs-Agents funktionieren, wenn das Ziel eine Web App unter Windows, Web App unter Linux (integrierte Quelle) oder Funktions-App ist. Die Aufgabe verwendet Kudu, um Dateien in den Azure App-Dienst zu kopieren.
Containerregistrierung
Funktioniert sowohl bei Windows- als auch linux-Automatisierungs-Agents, wenn das Ziel eine Web App für Container ist. Die Aufgabe aktualisiert die App durch Festlegen der entsprechenden Containerregistrierung, des Repositorys, des Imagenamens und der Taginformationen. Sie können die Aufgabe auch verwenden, um einen Startbefehl für das Containerimage zu übergeben.
Zip Deploy
Erwartet ein .zip Bereitstellungspaket und stellt den Dateiinhalt im ordner "wwwroot" des App-Diensts oder der Funktions-App in Azure bereit. Mit dieser Option werden alle vorhandenen Inhalte im ordner wwwroot überschrieben. Weitere Informationen finden Sie unter Zip-Bereitstellung für Azure Functions.
Ausführen von Paketen
Erwartet das gleiche Bereitstellungspaket wie zip Deploy. Anstatt jedoch Dateien im ordner wwwroot bereitzustellen, wird das gesamte Paket von der Funktionslaufzeit und dateien im ordner wwwroot schreibgeschützt. Weitere Informationen finden Sie unter Ausführen Ihrer Azure-Funktionen aus einer Paketdatei.
War Deploy
Erwartet ein WAR-Bereitstellungspaket und stellt den Dateiinhalt im ordner wwwroot oder Webapps Ordner des App-Diensts in Azure bereit.
Fehlerbehebung
Ich kann die Webbereitstellung für meinen Azure App Service nicht mithilfe der Microsoft Entra ID-Authentifizierung von meinem Windows-Agent ausführen.
Die Azure App Service-Bereitstellungsaufgabe unterstützt die Verbindung mit Microsoft Azure mit einer ARM-Dienstverbindung mithilfe der Microsoft Entra-ID, es sei denn, die folgenden drei Bedingungen sind vorhanden:
- Sie verwenden das Web Deploy-Paketformat auf einem Windows-Agent.
- Ihr Agent wird mit einer älteren Version von msdeploy.exe ausgeführt (z. B. bei Verwendung des windows-2019 gehosteten Agentimages)
- Die Standardauthentifizierung ist für Ihren Azure App Service deaktiviert.
Wenn diese drei Bedingungen vorhanden sind, erhalten Sie eine Fehlermeldung wie 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.
Um dieses Problem zu beheben, können Sie aus den folgenden Optionen wählen, in der Reihenfolge der Voreinstellung.
- Aktualisieren Sie das Agentimage. Wenn Sie gehostete Agents verwenden, wechseln Sie von windows-2019- zu windows-2022- (oder windows-latest). Wenn Sie selbst gehostete Agents verwenden, installieren Sie Visual Studio 2022 auf dem Agent, um eine neuere Version von msdeploy.exezu erhalten.
- Wenn Sie von einem älteren Agentimage abhängig sind und den Agent für Ihre Pipeline nicht aktualisieren können, sollten Sie den Auftrag aufteilen, sodass die Bereitstellungsaufgabe von Azure App Service auf windows-2022 (oder windows-latest) ausgeführt wird.
- Wenn keine dieser Optionen möglich ist, können Sie standardauthentifizierung für Ihren Azure App Service aktivieren.
Fehler: Zugriffstoken für Azure konnte nicht abgerufen werden. Überprüfen Sie, ob der verwendete Dienstprinzipal gültig und nicht abgelaufen ist.
Die Aufgabe verwendet den Dienstprinzipal in der Dienstverbindung, um sich bei Azure zu authentifizieren. Wenn der Dienstprinzipal abgelaufen ist oder keine Berechtigungen für den App-Dienst besitzt, schlägt die Aufgabe mit diesem Fehler fehl. Überprüfen Sie die Gültigkeit des verwendeten Dienstprinzipals, und überprüfen Sie, ob er in der App-Registrierung vorhanden ist. Weitere Informationen finden Sie unter Verwenden der rollenbasierten Zugriffssteuerung zum Verwalten des Zugriffs auf Ihre Azure-Abonnementressourcen. Dieser Blogbeitrag enthält auch weitere Informationen zur Verwendung der Dienstprinzipalauthentifizierung.
SSL-Fehler
Wenn Sie ein Zertifikat in App Service verwenden möchten, muss das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle signiert werden. Wenn Ihre Web-App Fehler bei der Zertifikatüberprüfung anzeigt, verwenden Sie wahrscheinlich ein selbstsigniertes Zertifikat. Legen Sie eine Variable namens VSTS_ARM_REST_IGNORE_SSL_ERRORS
auf den Wert true
in der Build- oder Releasepipeline fest, um den Fehler zu beheben.
Eine Freigabe hängt lange und schlägt dann fehl.
Dieses Problem könnte das Ergebnis unzureichender Kapazität in Ihrem App Service-Plan sein. Um dieses Problem zu beheben, können Sie die App Service-Instanz skalieren, um den verfügbaren CPU-, RAM- und Festplattenspeicher zu erhöhen, oder versuchen Sie es mit einem anderen App Service-Plan.
5xx Fehlercodes
Wenn ein 5-xx--Fehler angezeigt wird, den Status Ihres Azure-Dienstsüberprüfen.
Azure-Funktion funktionierte plötzlich nicht mehr
Azure Functions funktioniert möglicherweise plötzlich nicht mehr, wenn seit der letzten Bereitstellung mehr als ein Jahr vergangen ist. Wenn Sie mit "RunFromPackage" in "deploymentMethod" bereitstellen, wird ein SAS mit einem Ablaufdatum von 1 Jahr generiert und als Wert von "WEBSITE_RUN_FROM_PACKAGE" in der Anwendungskonfiguration festgelegt. Azure Functions verwendet dieses SAS, um auf die Paketdatei für die Funktionsausführung zu verweisen. Wenn die SAS abgelaufen ist, wird die Funktion nicht ausgeführt. Um dieses Problem zu beheben, stellen Sie es erneut bereit, um ein SAS mit einem Ablaufdatum von einem Jahr zu generieren.
Fehler: Kein Paket mit angegebenem Muster gefunden
Überprüfen Sie, ob das in der Aufgabe erwähnte Paket als Artefakt im Build oder einer vorherigen Phase veröffentlicht und in den aktuellen Auftrag heruntergeladen wird.
Fehler: Die Veröffentlichung mithilfe der ZIP-Bereitstellungsoption wird für den MsBuild-Pakettyp nicht unterstützt.
Webpakete, die über die MSBuild-Aufgabe (mit Standardargumenten) erstellt werden, weisen eine geschachtelte Ordnerstruktur auf, die nur von Web Deploy ordnungsgemäß bereitgestellt werden kann. Die Bereitstellungsoption zum Veröffentlichen in ZIP kann nicht verwendet werden, um diese Pakete bereitzustellen. Gehen Sie folgendermaßen vor, um die Verpackungsstruktur zu konvertieren:
Ändern Sie in der Aufgabe "Projektmappe erstellen" die MSBuild-Argumente in
/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent"
:Fügen Sie eine Archivaufgabe hinzu, und ändern Sie die Werte wie folgt:
Ändern Sie Stammordner oder -datei, um in
$(System.DefaultWorkingDirectory)\\WebAppContent
zu archivieren.Deaktivieren Sie den Namen des Voreingestellten Stammordners, um Pfade Kontrollkästchen zu archivieren:
Die Web-App-Bereitstellung unter Windows ist erfolgreich, die App funktioniert jedoch nicht.
Dies liegt möglicherweise daran, dass web.config in Ihrer App nicht vorhanden ist. Sie können ihrer Quelle entweder eine web.config Datei hinzufügen oder eine datei automatisch generieren, indem Sie die Optionen für Dateitransformationen und Variablenersetzungsoptionen der Aufgabe verwenden.
Klicken Sie auf die Aufgabe, und wechseln Sie zu "Generieren web.config Parameter" für Python-, Node.js-, Go- und Java-Apps.
Klicken Sie auf die Schaltfläche "Mehr generieren" web.config Parameter für Python, Node.js, Go- und Java-Apps, um die Parameter zu bearbeiten.
Wählen Sie ihren Anwendungstyp aus der Dropdownliste aus.
Klicken Sie auf "OK". Dadurch werden web.config Parameter aufgefüllt, die zum Generieren web.configerforderlich sind.
Anmerkung
Dieser Abschnitt ist veraltet und wurde durch die Aufgabe Dateitransformation ersetzt.
ERROR_FILE_IN_USE
Bei der Bereitstellung von .NET-Apps in Web App unter Windows schlägt die Bereitstellung möglicherweise mit Fehlercode ERROR_FILE_IN_USEfehl. Um den Fehler zu beheben, stellen Sie sicher, dass gesperrte Dateien umbenennen und Optionen für die App offline schalten in der Aufgabe aktiviert sind. Verwenden Sie für Bereitstellungen ohne Ausfallzeiten den Steckplatztausch.
Sie können auch Run From Package-Bereitstellung Methode verwenden, um ressourcensperren zu vermeiden.
Fehler bei der Webbereitstellung
Wenn Sie web deploy verwenden, um Ihre App bereitzustellen, zeigt Web Deploy in einigen Fehlerszenarien einen Fehlercode im Protokoll an. Informationen zur Problembehandlung eines Webbereitstellungsfehlers finden Sie unter Web Deploy-Fehlercodes.
Die Web-App-Bereitstellung in der App Service Environment (ASE) funktioniert nicht.
- Stellen Sie sicher, dass sich der Azure DevOps-Build-Agent auf demselben VNET befindet (Subnetz kann unterschiedlich sein) wie der interne Lastenausgleich (Internal Load Balancer, ILB) von ASE. Dadurch kann der Agent Code aus Azure DevOps abrufen und auf ASE bereitstellen.
- Wenn Sie Azure DevOps verwenden, muss der Agent nicht über das Internet zugänglich sein, sondern benötigt nur ausgehenden Zugriff, um eine Verbindung mit Azure DevOps Service herzustellen.
- Wenn Sie TFS/Azure DevOps Server verwenden, der in einem virtuellen Netzwerk bereitgestellt wird, kann der Agent vollständig isoliert werden.
- Der Build-Agent muss mit der DNS-Konfiguration der Web App konfiguriert werden, für die er bereitstellen muss. Da die privaten Ressourcen im virtuellen Netzwerk keine Einträge in Azure DNS enthalten, muss dies der Hostdatei auf dem Agentcomputer hinzugefügt werden.
- Wenn ein selbstsigniertes Zertifikat für die ASE-Konfiguration verwendet wird, muss die Option
-allowUntrusted
in der Bereitstellungsaufgabe für MSDeploy festgelegt werden. Es wird auch empfohlen, die VariableVSTS_ARM_REST_IGNORE_SSL_ERRORS
auf "true" festzulegen. Wenn ein Zertifikat von einer Zertifizierungsstelle für die ASE-Konfiguration verwendet wird, sollte dies nicht erforderlich sein. Wenn Sie eine Bereitstellung auf einem für den automatischen Swap konfigurierten Steckplatz vornehmen, schlägt der Swap fehl, es sei denn, Sie legenSCM_SKIP_SSL_VALIDATION
oderSCM_SKIP_ASE_SSL_VALIDATION
in den Konfigurationseinstellungen für App-Dienste auf1
fest.
Häufig gestellte Fragen
Was ist der Unterschied zwischen den aufgaben AzureWebApp
und AzureRmWebAppDeployment
?
Die Azure Web App-Aufgabe (AzureWebApp
) ist die einfachste Möglichkeit zum Bereitstellen in einer Azure Web App. Standardmäßig erfolgt Ihre Bereitstellung mit der Stammanwendung in der Azure Web App.
Die Azure App Service Deploy-Aufgabe (AzureRmWebAppDeployment
) können weitere benutzerdefinierte Szenarien verarbeiten, z. B.:
- Ändern von Konfigurationseinstellungen in Webpaketen und XML-Parameterdateien.
- Mit Web Deploybereitstellen, wenn Sie für den IIS-Bereitstellungsprozess verwendet werden.
- Bereitstellen in virtuellen Anwendungen.
- Stellen Sie für andere App-Typen bereit, z. B. Container-Apps, Funktions-Apps, WebJobs oder API- und Mobile-Apps.
Anmerkung
Dateitransformationen und Variablenersetzung werden auch von der separaten Dateitransformationsaufgabe für die Verwendung in Azure Pipelines unterstützt. Sie können die Dateitransformationsaufgabe verwenden, um Dateitransformationen und Variablenersetzungen auf alle Konfigurations- und Parameterdateien anzuwenden.
Wie soll ich meine Dienstverbindung konfigurieren?
Für diese Aufgabe ist eine Azure Resource Manager-Dienstverbindungerforderlich.
Wie sollte ich die Bereitstellung von Webaufträgen mit Application Insights konfigurieren?
Wenn Sie Application Insights konfiguriert haben und Remove additional files at destination
aktiviert haben, müssen Sie auch Exclude files from the App_Data folder
aktivieren, wenn Sie Remove additional files at destination
in einem App-Dienst bereitstellen. Durch Aktivieren dieser Option wird die Application Insights-Erweiterung in einem sicheren Zustand beibehalten. Dieser Schritt ist erforderlich, da der fortlaufende WebJob von Application Insights im ordner App_Data installiert ist.
Wie sollte ich meinen Agent konfigurieren, wenn er sich hinter einem Proxy befindet, während ich im App Service bereitstelle?
Wenn Ihr selbst gehosteter Agent einen Webproxy benötigt, können Sie den Agent während der Konfiguration über den Proxy informieren. Auf diese Weise kann Ihr Agent über den Proxy eine Verbindung mit Azure Pipelines oder Azure DevOps Server herstellen. Erfahren Sie mehr über das Ausführen eines selbst gehosteten Agents hinter einem Webproxy.
Beispiele
- Bereitstellen in bestimmten App-Typen
- In Azure Web App Linux-Container bereitstellen
- Bereitstellen einer Web-App für einen Windows-App-Dienst über Bereitstellungsmodule
- Beispielskript nach der Bereitstellung
Bereitstellen für einen bestimmten App-Typ
Legen Sie zum Bereitstellen auf einen bestimmten App-Typ appType
auf einen der folgenden akzeptierten Werte fest: webApp
(Web App unter Windows), webAppLinux
(Web App unter Linux), webAppContainer
(Web App für Container - Linux), functionApp
(Funktions-App unter Windows), functionAppLinux
(Funktions-App unter Linux), functionAppContainer
(Funktions-App für Container - Linux), apiApp
(API-App), mobileApp
(Mobile App). Wenn nicht erwähnt, wird webApp
als Standardwert verwendet.
Um erweiterte Bereitstellungsoptionen zu aktivieren, fügen Sie den Parameter enableCustomDeployment: true
hinzu, und fügen Sie bei Bedarf die folgenden Parameter ein.
# deploymentMethod: 'runFromPackage' # supports zipDeploy as well
# appOffline: boolean # Not applicable for 'runFromPackage'
# setParametersFile: string
# removeAdditionalFilesFlag: boolean
# additionalArguments: string
Bereitstellen im Azure Web App Linux-Container
Im folgenden YAML-Beispiel wird ein Azure Web App-Container (Linux) bereitgestellt.
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)
Bereitstellen einer Web-App für einen Windows-App-Dienst über Bereitstellungsplätze hinweg
Im folgenden Beispiel wird eine Web-App für einen Windows-App-Dienst über Bereitstellungsplätze hinweg bereitgestellt.
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'
Beispielskript für die Bereitstellung nach der Bereitstellung
Die Aufgabe bietet eine Option zum Anpassen der Bereitstellung durch Bereitstellen eines Skripts, das auf dem Azure App Service ausgeführt wird, nachdem die Artefakte der App erfolgreich in den App-Dienst kopiert wurden. Sie können entweder ein Inlinebereitstellungsskript oder den Pfad und namen einer Skriptdatei in Ihrem Artefaktordner angeben.
Dies ist sehr nützlich, wenn Sie Ihre Anwendungsabhängigkeiten direkt im App-Dienst wiederherstellen möchten. Durch das Wiederherstellen von Paketen für Node-, PHP- und Python-Apps können Timeouts vermieden werden, wenn die Anwendungsabhängigkeit zu einem großen Artefakt führt, das vom Agent in den Azure App Service kopiert wird.
Ein Beispiel für ein Bereitstellungsskript ist:
@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
)
Anforderungen
Anforderung | Beschreibung |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.104.1 oder höher |
Vorgangskategorie | Aufstellen |
Siehe auch
- Diese Aufgabe ist Open Source auf GitHub. Feedback und Beiträge sind willkommen.