AzureRmWebAppDeployment@4: Azure App Service v4-Task bereitstellen
Verwenden Sie diese Aufgabe, um Azure App Service einer Web-, Mobil- oder API-App mithilfe von Docker, Java, .NET, .NET Core, Node.js, PHP, Python oder Ruby bereitzustellen.
Hinweis
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 basierenden Webanwendungen, Funktions-Apps unter Windows oder Linux mit Docker-Containern, mobile 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.
Eingaben
ConnectionType
- Verbindungstyp
string
. Erforderlich. Zulässige Werte: AzureRM
(Azure Resource Manager), PublishProfile
(Veröffentlichungsprofil). 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 von Visual Studio erstellten Veröffentlichungsprofile an.
ConnectionType
- Verbindungstyp
string
. Erforderlich. Zulässige Werte: AzureRM
(Azure Resource Manager), PublishProfile
(Veröffentlichungsprofil). 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
- Profilpfad veröffentlichen
string
. Erforderlich, wenn ConnectionType = PublishProfile
. Standardwert. $(System.DefaultWorkingDirectory)/**/*.pubxml
.
Der Pfad des in Visual Studio erstellten Veröffentlichungsprofils .
PublishProfilePassword
- Profilkennwort veröffentlichen
string
. Erforderlich, wenn ConnectionType = PublishProfile
.
Es wird empfohlen, ein Kennwort in einer Geheimvariablen zu speichern und diese Variable hier zu verwenden, z. B. $(Password)
.
appType
- App Service Typ
Eingabealias: WebAppKind
. string
. Erforderlich, wenn ConnectionType = AzureRM
. Zulässige Werte: webApp
(Web-App unter Windows), webAppLinux
(Web-App für Linux), webAppContainer
(Web-App für Container (Linux)), webAppHyperVContainer
(Web-App für Container (Windows)), functionApp
(Funktions-App unter Windows (nicht empfohlen, Verwenden Azure Functions Task)), functionAppLinux
(Funktions-App unter Linux (nicht empfohlen, Verwenden Azure Functions Task)), (Funktions-App für Container (Linux) (Nicht empfohlen, Verwenden von Azure Functions Task)) functionAppContainer
(Nicht empfohlen, Verwenden Azure Functions für container Task)), apiApp
(API-App), mobileApp
(Mobile App). Standardwert. webApp
.
Wählen Sie zwischen 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 App.
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 zwischen 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 App.
WebAppName
- App Service Name
string
. Erforderlich, wenn ConnectionType = AzureRM
.
Geben Sie den Namen einer vorhandenen Azure App Service an. App-Dienste, die auf dem ausgewählten App-Typ basieren, werden nur aufgeführt, wenn die Aufgabe Assistent verwendet wird.
deployToSlotOrASE
- Bereitstellen im Slot oder App Service-Umgebung
Eingabealias: DeployToSlotOrASEFlag
. boolean
. Optional. Verwenden Sie , wenn ConnectionType = AzureRM && WebAppKind != ""
. Standardwert. false
.
Geben Sie die Option zum Bereitstellen in einem vorhandenen Bereitstellungsslot oder Azure App Service Umgebung an. Für beide Ziele erfordert die Aufgabe einen Ressourcengruppennamen.
Wenn das Bereitstellungsziel ein Slot ist, erfolgt die Bereitstellung standardmäßig im Produktionsslot . Jeder andere vorhandene Slotname kann angegeben werden.
Wenn das Bereitstellungsziel eine Azure App Service Umgebung ist, behalten Sie den Slotnamen bei, 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 Bereitstellungsslot oder ein App Service-Umgebung ist.
Geben Sie die Azure-Ressourcengruppe an, die die oben angegebene Azure App Service enthält.
SlotName
- Slot
string
. Erforderlich, wenn DeployToSlotOrASEFlag = true
. Standardwert. production
.
Geben Sie einen anderen Slot als den Produktionsslot an.
DockerNamespace
- Registrierung oder Namespace
string
. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
.
Ein global eindeutiger Domänenname der obersten Ebene für Ihre spezifische Registrierung oder Ihren spezifischen Namespace. Hinweis: Der vollqualifizierte Imagename hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerNamespace
- Registrierung oder Namespace
string
. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
.
Ein global eindeutiger Domänenname der obersten Ebene für Ihre spezifische Registrierung oder Ihren spezifischen Namespace. Hinweis: Der vollqualifizierte Imagename hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerNamespace
- Registrierung oder Namespace
string
. Erforderlich, wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer
.
Ein global eindeutiger Domänenname der obersten Ebene für Ihre spezifische Registrierung oder Ihren spezifischen Namespace. Hinweis: Der vollqualifizierte Imagename 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 werden. Hinweis: Der vollqualifizierte Imagename 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 werden. Hinweis: Der vollqualifizierte Imagename 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 werden. Hinweis: Der vollqualifizierte Imagename hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerImageTag
- Etikett
string
. Optional. Verwenden Sie , wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
.
Tags sind der Mechanismus, den Registrierungen verwenden, um Versionsinformationen auf Docker-Images anzuwenden. Hinweis: Der vollqualifizierte Imagename hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerImageTag
- Etikett
string
. Optional. Verwenden Sie , wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
.
Tags sind der Mechanismus, den Registrierungen verwenden, um Versionsinformationen auf Docker-Images anzuwenden. Hinweis: Der vollqualifizierte Imagename hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
DockerImageTag
- Etikett
string
. Optional. Verwenden Sie , wenn WebAppKind = webAppContainer || WebAppkind = functionAppContainer
.
Tags sind der Mechanismus, den Registrierungen verwenden, um Versionsinformationen auf Docker-Images anzuwenden. Hinweis: Der vollqualifizierte Imagename hat das Format: {registry or namespace}/{repository}:{tag}
. Beispiel: myregistry.azurecr.io/nginx:latest
.
VirtualApplication
- Virtuelle Anwendung
string
. Optional. Verwenden Sie , 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
. Optional. Verwenden Sie , 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 Service-Inhalten, die von MSBuild oder einer komprimierten ZIP- oder War-Datei generiert wurden.
Variablen sind Build und Release. Wildcards werden unterstützt.
Zum Beispiel: $(System.DefaultWorkingDirectory)/\*\*/\*.zip
oder $(System.DefaultWorkingDirectory)/\*\*/\*.war
.
RuntimeStack
- Laufzeitstapel
string
. Optional. Verwenden Sie , wenn WebAppKind = webAppLinux
.
Geben Sie das Framework und die Version für die Funktions-App unter Linux an.
RuntimeStackFunction
- Laufzeitstapel
string
. Optional. Verwenden Sie , 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 (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 unterstützten Laufzeitversionen finden Sie in der Übersicht über Azure Functions Runtimeversionen. Alte Werte wie z. B DOCKER|microsoft/azure-functions-*
. sind veraltet. Verwenden Sie die neuen Werte aus der Dropdownliste.
RuntimeStackFunction
- Laufzeitstapel
string
. Optional. Verwenden Sie , 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
. Optional. Verwenden Sie , wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer
.
Geben Sie den Startbefehl an. Beispiel:
dotnet exec filename.dll
dotnet filename.dll
.
StartupCommand
- Startbefehl
string
. Optional. Verwenden Sie , wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer
.
Geben Sie den Startbefehl an. Beispiel:
dotnet exec filename.dll
dotnet filename.dll
.
StartupCommand
- Startbefehl
string
. Optional. Verwenden Sie , wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux
.
Geben Sie den Startbefehl an. Beispiel:
dotnet exec filename.dll
dotnet filename.dll
.
StartupCommand
- Startbefehl
string
. Optional. Verwenden Sie , wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux
.
Geben Sie den Startbefehl an. Beispiel: dotnet run
dotnet filename.dll
.
StartupCommand
- Startbefehl
string
. Optional. Verwenden Sie , wenn WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer
.
Geben Sie den Startbefehl an.
ScriptType
- Bereitstellungsskripttyp
string
. Optional. Verwenden Sie , 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 das Inlinebereitstellungsskript oder den Pfad und Namen einer Skriptdatei aus. Erfahren Sie mehr über Azure App Service Bereitstellung.
ScriptType
- Bereitstellungsskripttyp
string
. Optional. Verwenden Sie , 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 das Inlinebereitstellungsskript oder den Pfad und Namen einer Skriptdatei aus. Erfahren Sie mehr über Azure App Service Bereitstellung.
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. Sie können Ihre Bereitstellungsbefehle hier bereitstellen, einen Befehl pro Zeile. Siehe folgendes Beispiel.
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. Sie können Ihre Bereitstellungsbefehle hier bereitstellen, einen Befehl pro Zeile. Siehe folgendes Beispiel.
ScriptPath
- Pfad des Bereitstellungsskripts
string
. Erforderlich, wenn ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
.
Pfad und Name des auszuführenden Skripts.
ScriptPath
- Pfad des Bereitstellungsskripts
string
. Erforderlich, wenn ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
.
Pfad und Name des auszuführenden Skripts.
WebConfigParameters
- Generieren web.config Parameter für Python-, Node.js-, Go- und Java-Apps
string
. Optional. Verwenden Sie , wenn WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
.
Ein Standard Web.config
wird generiert und für Azure App Service bereitgestellt, wenn die Anwendung keinen hat. Die Werte in web.config
können bearbeitet werden und variieren je nach Anwendungsframework. Für Anwendungen web.config
wird beispielsweise node.js
eine Startdatei und iis_node Modulwerte verwendet. Dieses Bearbeitungsfeature gilt nur für das generierte web.config
. Erfahren Sie mehr über Azure App Service Bereitstellung.
WebConfigParameters
- Generieren web.config Parameter für Python-, Node.js-, Go- und Java-Apps
string
. Optional. Verwenden Sie , wenn WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
.
Ein Standard Web.config
wird generiert und für Azure App Service bereitgestellt, wenn die Anwendung keinen hat. Die Werte in web.config
können bearbeitet werden und variieren je nach Anwendungsframework. Für Anwendungen web.config
wird beispielsweise node.js
eine Startdatei und iis_node Modulwerte verwendet. Dieses Bearbeitungsfeature gilt nur für das generierte web.config
. Erfahren Sie mehr über Azure App Service Bereitstellung.
AppSettings
- App-Einstellungen
string
. Optional. Verwenden Sie , wenn ConnectionType = AzureRM
.
Bearbeitet Web-App-Anwendungseinstellungen mithilfe der Syntax -key value
. Werte, die Leerzeichen enthalten, müssen in doppelte Anführungszeichen gesetzt werden. Beispiele:: -Port 5000 -RequestTimeout 5000
und -WEBSITE_TIME_ZONE "Eastern Standard Time"
. Um mindestens zwei Schlüsselwerte bereitzustellen, müssen die Schlüsselwerte durch ein Leerzeichen getrennt werden. Beispiel: -key1 "Value1" -Key2 "Value2"
.
ConfigurationSettings
- Konfigurationseinstellungen
string
. Optional. Verwenden Sie , wenn ConnectionType = AzureRM
.
Bearbeitet Web-App-Konfigurationseinstellungen mithilfe der Syntax -key value
. Werte, die Leerzeichen enthalten, müssen in doppelte Anführungszeichen gesetzt werden. Beispiel: -phpVersion 5.6 -linuxFxVersion node|6.11
.
enableCustomDeployment
- Bereitstellungsmethode auswählen
Eingabealias: UseWebDeploy
. boolean
. Optional. Verwenden Sie , wenn ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert. false
.
Wenn diese Option deaktiviert oder false ist, erkennt der Task automatisch die beste Bereitstellungsmethode basierend auf dem App-Typ, dem Paketformat und anderen Parametern. Aktivieren Sie diese Option in der Task-Assistent, um die unterstützten Bereitstellungsmethoden anzuzeigen, und wählen Sie eine für die Bereitstellung Ihrer App aus.
enableCustomDeployment
- Bereitstellungsmethode auswählen
Eingabealias: UseWebDeploy
. boolean
. Optional. Verwenden Sie , wenn ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Standardwert. false
.
Wenn diese Option deaktiviert oder false ist, erkennt der Task automatisch die beste Bereitstellungsmethode basierend auf dem App-Typ, dem Paketformat und anderen Parametern. Aktivieren Sie diese Option in der Task-Assistent, 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
(Aus Paket ausführen). 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
(Aus Paket ausführen). Standardwert. webDeploy
.
Bestimmt die Bereitstellungsmethode für die App.
TakeAppOfflineFlag
- Offline schalten der App
boolean
. Optional. Verwenden Sie , 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 die 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
- Offline schalten der App
boolean
. Optional. Verwenden Sie , 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 die 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
. Optional. Verwenden Sie , 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 SetParameters.xml
zu verwendenden Datei.
SetParametersFile
- SetParameters-Datei
string
. Optional. Verwenden Sie , 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 SetParameters.xml
zu verwendenden Datei.
RemoveAdditionalFilesFlag
- Entfernen zusätzlicher Dateien am Ziel
boolean
. Optional. Verwenden Sie , 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 auf dem Azure App Service zu löschen, die keine übereinstimmenden Dateien im App Service Paket oder Ordner enthalten. Dadurch werden auch alle Dateien entfernt, die sich auf eine erweiterung beziehen, die auf dieser Azure App Service installiert ist. Aktivieren Sie das Kontrollkästchen, um dies Exclude files from App_Data folder
zu verhindern.
RemoveAdditionalFilesFlag
- Entfernen zusätzlicher Dateien am Ziel
boolean
. Optional. Verwenden Sie , 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 auf dem Azure App Service zu löschen, die keine übereinstimmenden Dateien im App Service Paket oder Ordner enthalten. Dadurch werden auch alle Dateien entfernt, die sich auf eine erweiterung beziehen, die auf dieser Azure App Service installiert ist. Aktivieren Sie das Kontrollkästchen, um dies Exclude files from App_Data folder
zu verhindern.
ExcludeFilesFromAppDataFlag
- Ausschließen von Dateien aus dem ordner App_Data
boolean
. Optional. Verwenden Sie , 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 im Azure App Service bereitgestellt bzw. gelöscht werden.
ExcludeFilesFromAppDataFlag
- Ausschließen von Dateien aus dem ordner App_Data
boolean
. Optional. Verwenden Sie , 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 im Azure App Service bereitgestellt bzw. gelöscht werden.
AdditionalArguments
- Zusätzliche Argumente
string
. Optional. Verwenden Sie , 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 der Azure App Service angewendet. Beispiele: -disableLink:AppPoolExtension -disableLink:ContentExtension
. Weitere Informationen finden Sie unter Webbereitstellungsvorgangseinstellungen.
AdditionalArguments
- Zusätzliche Argumente
string
. Optional. Verwenden Sie , 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 der Azure App Service angewendet. Beispiele: -disableLink:AppPoolExtension -disableLink:ContentExtension
. Weitere Informationen finden Sie unter Webbereitstellungsvorgangseinstellungen.
RenameFilesFlag
- Umbenennen gesperrter Dateien
boolean
. Optional. Verwenden Sie , 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 Azure App Service Anwendungseinstellungen zu aktivieren. Wenn festgelegt, ermöglicht die Option msdeploy das Umbenennen von Dateien, die während der App-Bereitstellung gesperrt sind.
RenameFilesFlag
- Umbenennen gesperrter Dateien
boolean
. Optional. Verwenden Sie , 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 Azure App Service Anwendungseinstellungen zu aktivieren. Wenn festgelegt, ermöglicht die Option msdeploy das Umbenennen von Dateien, die während der App-Bereitstellung gesperrt sind.
enableXmlTransform
- XML-Transformation
Eingabealias: XmlTransformation
. boolean
. Optional. Verwenden Sie , 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 *.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
. Optional. Verwenden Sie , 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 *.config file
ausgeführt. Konfigurationstransformationen werden vor der Variablenersetzung ausgeführt. XML-Transformationen werden nur für die Windows-Plattform unterstützt.
enableXmlVariableSubstitution
- Ersetzung von XML-Variablen
Eingabealias: XmlVariableSubstitution
. boolean
. Optional. Verwenden Sie , 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 configSections
Abschnitten , appSettings
, applicationSettings
und connectionStrings
jeder Konfigurationsdatei parameters.xml
abgeglichen. Die Variablenersetzung wird nach Konfigurationstransformationen ausgeführt.
Wenn dieselben Variablen in der Releasepipeline und in der Phase definiert sind, ersetzen die Phasenvariablen die Releasepipelinevariablen. Weitere Informationen zu [XML-Variablenersetzung]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).
enableXmlVariableSubstitution
- Ersetzung von XML-Variablen
Eingabealias: XmlVariableSubstitution
. boolean
. Optional. Verwenden Sie , 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 configSections
Abschnitten , appSettings
, applicationSettings
und connectionStrings
jeder Konfigurationsdatei parameters.xml
abgeglichen. Die Variablenersetzung wird nach Konfigurationstransformationen ausgeführt.
Wenn dieselben Variablen in der Releasepipeline und in der Phase definiert sind, ersetzen die Phasenvariablen die Releasepipelinevariablen. Weitere Informationen zu [XML-Variablenersetzung]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).
JSONFiles
- JSON-Variablenersetzung
string
. Optional. Verwenden Sie , wenn WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
.
Stellt eine newline-getrennte Liste von JSON-Dateien bereit, um die Variablenwerte zu ersetzen. Dateinamen müssen relativ zum Stammordner sein. Um JSON-Variablen zu ersetzen, die geschachtelt oder hierarchisch sind, geben Sie sie mithilfe von JSONPath
Ausdrücken an. Um beispielsweise den Wert von ConnectionString
im folgenden Beispiel zu ersetzen, definieren Sie eine Variable mit dem Namen Data.DefaultConnection.ConnectionString
in der Build- oder Releasepipeline (oder Releasepipelinesphase).
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
Eine Variablenersetzung wird nach Konfigurationstransformationen ausgeführt. Hinweis: Build- und Releasepipelinevariablen sind von der Ersetzung ausgeschlossen. Erfahren Sie mehr über die JSON-Variablenersetzung.
JSONFiles
- JSON-Variablenersetzung
string
. Optional. Verwenden Sie , wenn WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
.
Stellt eine newline-getrennte Liste von JSON-Dateien bereit, um die Variablenwerte zu ersetzen. Dateinamen müssen relativ zum Stammordner sein. Um JSON-Variablen zu ersetzen, die geschachtelt oder hierarchisch sind, geben Sie sie mithilfe von JSONPath
Ausdrücken an. Um beispielsweise den Wert von ConnectionString
im folgenden Beispiel zu ersetzen, definieren Sie eine Variable mit dem Namen Data.DefaultConnection.ConnectionString
in der Build- oder Releasepipeline (oder Releasepipelinesphase).
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
Eine Variablenersetzung wird nach Konfigurationstransformationen ausgeführt. Hinweis: Build- und Releasepipelinevariablen sind von der Ersetzung ausgeschlossen. Erfahren Sie mehr über die JSON-Variablenersetzung.
Optionen für die Vorgangskontrolle
Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.
Ausgabevariablen
Diese Aufgabe definiert die folgenden Ausgabevariablen, die Sie in nachgelagerten Schritten, Aufträgen und Phasen nutzen können.
AppServiceApplicationUrl
Anwendungs-URL des ausgewählten App Service.
Hinweise
- Voraussetzungen für die Aufgabe
- Hinweise zur Verwendung
- Bereitstellungsmethoden
- Problembehandlung
- Häufig gestellte Fragen (FAQs)
Verwenden Sie diese Aufgabe, um in einer Reihe von App Services in Azure bereitzustellen. Die Aufgabe funktioniert auf plattformübergreifenden Agents unter Windows, Linux oder Mac und verwendet verschiedene zugrunde liegende Bereitstellungstechnologien.
Die Aufgabe funktioniert für ASP.NET-, ASP.NET Core-, PHP-, Java-, Python-, Go- und Node.js-basierte Webanwendungen.
Der Task kann für die Bereitstellung in einer Reihe von Azure-App Services verwendet werden, z. B.:
- Web-Apps unter Windows und Linux
- Web-Apps für Container
- Funktions-Apps unter Windows und Linux
- Funktions-Apps für Container
- WebJobs
- Unter Azure App Service Umgebungen konfigurierte Apps
Voraussetzungen für die Aufgabe
Die folgenden Voraussetzungen müssen auf den Zielcomputern eingerichtet werden, damit die Aufgabe ordnungsgemäß funktioniert.
App Service instance. Der Task wird verwendet, um ein Web-App-Projekt oder ein Azure-Funktionsprojekt in einer vorhandenen Azure App Service instance bereitzustellen, die vorhanden sein muss, bevor der Task ausgeführt wird. Die App Service instance kann aus dem Azure-Portal erstellt und dort konfiguriert werden. Alternativ kann der Azure PowerShell Task verwendet werden, um AzureRM 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 klassischen Azure-Dienstverbindung und listet diese Verbindungen nicht in den Einstellungen der Aufgabe auf.
Hinweise zur Verwendung
- Der Task funktioniert nur mit den Azure Resource Manager-APIs.
- Um SSL-Fehler zu ignorieren, definieren Sie eine Variable mit dem Namen
VSTS_ARM_REST_IGNORE_SSL_ERRORS
mit dem Werttrue
in der Pipeline. Wenn Sie die Bereitstellung in einem Slot durchführen, der für den automatischen Austausch konfiguriert ist, tritt beim Austausch ein Fehler auf, es sei denn, Sie legenSCM_SKIP_SSL_VALIDATION
oder in den Konfigurationseinstellungen für App Services fest oderSCM_SKIP_ASE_SSL_VALIDATION
auf1
. - Vermeiden Sie bei .NET-Apps für Web-Apps unter Windows einen Bereitstellungsfehler mit dem Fehler
ERROR_FILE_IN_USE
, indem Sie sicherstellen, dass die Einstellungen "Gesperrte Dateien umbenennen" und "App offline verwenden " aktiviert sind. Verwenden Sie die Slottauschoption, um die Bereitstellung ohne Ausfallzeiten zu vermeiden. - Wenn Sie für eine App Service bereitstellen, für die Application Insights konfiguriert ist, und Sie zusätzliche Dateien am Ziel entfernen aktiviert haben, müssen Sie auch Dateien aus dem Ordner App_Data ausschließen aktivieren, um die Application Insights-Erweiterung in einem sicheren Zustand zu halten. Dies ist erforderlich, da der fortlaufende Application Insights-Webauftrag 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 Bereitstellungsmethode auswählen , um aus zusätzlichen paketbasierten Bereitstellungsoptionen auszuwählen.
Basierend auf dem Typ von Azure App Service und Agent wählt der Task eine geeignete Bereitstellungstechnologie aus. Die verschiedenen Bereitstellungstechnologien, die von der Aufgabe verwendet werden, sind:
- Web Deploy
- Kudu-REST-APIs
- Containerregistrierung
- ZIP-Bereitstellung
- Ausführen aus Paket
- WAR-Bereitstellung
Standardmäßig versucht die Aufgabe, die entsprechende Bereitstellungstechnologie basierend auf dem Eingabepakettyp, App Service Typ und dem Agentbetriebssystem auszuwählen.
Logik automatisch erkennen
Für windowsbasierte Agents.
App Service Typ | Pakettyp | Bereitstellungsmethode |
---|---|---|
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 | Nicht verfügbar |
WebApp unter Windows, Funktions-App unter Windows, API-App oder Mobile App | War Jar MsBuild-Pakettyp oder Bereitstellung in der virtuellen Anwendung 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, um die App bereitzustellen.
Web Deploy
Web Deploy (msdeploy.exe) kann verwendet werden, um eine Web-App unter Windows oder eine Funktions-App mithilfe eines Windows-Agents auf dem Azure App Service bereitzustellen. Web Deploy ist funktionsreich und bietet Optionen wie:
Benennen Sie gesperrte Dateien um: 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 Sie zusätzliche Dateien am Ziel: Löscht Dateien im Azure App Service, die keine übereinstimmenden Dateien im App Service Artefaktpaket oder -ordner enthalten, der bereitgestellt wird.
Schließen Sie Dateien aus dem ordner App_Data aus: Verhindern, dass Dateien im ordner App_Data (im bereitgestellten Artefaktpaket/-ordner) im Azure App Service
Zusätzliche Web Deploy-Argumente: 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 Webbereitstellungsvorgangseinstellungen.
Installieren Sie Web Deploy auf dem Agent aus 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 unter C:/Program Files (x86)/IIS/Microsoft Web Deploy V3
installiert.
Kudu-REST-APIs
Kudu REST-APIs funktionieren sowohl auf Windows- als auch auf Linux-Automatisierungs-Agents, wenn das Ziel eine Web-App unter Windows, Web-App unter Linux (integrierte Quelle) oder Funktions-App ist. Die Aufgabe verwendet Kudu zum Kopieren von Dateien in den Azure App Service.
Container Registry
Funktioniert sowohl auf Windows- als auch auf Linux-Automatisierungs-Agents, wenn das Ziel eine Web-App für Container ist. Der Task aktualisiert die App, indem die entsprechenden Containerregistrierungs-, Repository-, Imagenamen- und Taginformationen festgelegt werden. Sie können den Task auch verwenden, um einen Startbefehl für das Containerimage zu übergeben.
ZIP-Bereitstellung
Erwartet ein .zip Bereitstellungspaket und stellt den Dateiinhalt im Ordner wwwroot der App Service- oder Funktions-App in Azure bereit. Diese Option überschreibt alle vorhandenen Inhalte im Ordner wwwroot . Weitere Informationen finden Sie unter ZIP-Bereitstellung für Azure Functions.
Ausführung aus einem Paket
Erwartet das gleiche Bereitstellungspaket wie Zip Deploy. Anstatt jedoch Dateien im Ordner wwwroot bereitzustellen, wird das gesamte Paket von der Functions-Runtime eingebunden, und Dateien im Ordner wwwroot werden schreibgeschützt. Weitere Informationen finden Sie unter Run your Azure Functions from a package file (Ausführen von Azure Functions über eine Paketdatei).
WAR-Bereitstellung
Erwartet ein .war-Bereitstellungspaket und stellt den Dateiinhalt im Ordner wwwroot oder webapps des App Service in Azure bereit.
Problembehandlung
Ich kann keine Webbereitstellung für meine Azure App Service mit Microsoft Entra ID Authentifizierung über meinen Windows-Agent ausführen.
Der Azure App Service Bereitstellungstask unterstützt das Herstellen einer Verbindung mit Microsoft Azure über eine ARM-Dienstverbindung über Microsoft Entra ID, es sei denn, die folgenden drei Bedingungen sind vorhanden:
- Sie verwenden das WebBereitstellungspaketformat auf einem Windows-Agent
- Ihr Agent wird mit einer älteren Version von msdeploy.exe ausgeführt (z. B. bei Verwendung des von Windows 2019 gehosteten Agentsimages ).
- Die Standardauthentifizierung ist für Ihre Azure App Service deaktiviert.
Wenn diese drei Bedingungen vorliegen, 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 in der Reihenfolge ihrer Präferenzen auswählen.
- Aktualisieren Sie das Agentimage. Wenn Sie gehostete Agents verwenden, wechseln Sie von windows-2019 zu Windows-2022 (oder windows-latest). Wenn Sie selbstgehostete Agents verwenden, installieren Sie Visual Studio 2022 auf dem Agent, um eine neuere Version von msdeploy.exezu erhalten.
- Wenn Sie von einem älteren Agent-Image abhängig sind und den Agent für Ihre Pipeline nicht aktualisieren können, sollten Sie in Erwägung ziehen, den Auftrag aufzuteilen, damit der Azure App Service Bereitstellungstask unter Windows-2022 (oder windows-latest) ausgeführt wird.
- Wenn keine dieser Optionen möglich ist, können Sie die Standardauthentifizierung für Ihre Azure App Service aktivieren.
Fehler: Das Zugriffstoken für Azure konnte nicht abgerufen werden. Stellen Sie sicher, dass der verwendete Dienstprinzipal gültig und nicht abgelaufen ist.
Die Aufgabe verwendet den Dienstprinzipal in der Dienstverbindung für die Authentifizierung bei Azure. Wenn der Dienstprinzipal abgelaufen ist oder über keine Berechtigungen für den App Service verfügt, schlägt die Aufgabe mit diesem Fehler fehl. Überprüfen Sie die Gültigkeit des verwendeten Dienstprinzipals, und vergewissern Sie sich, dass er in der App-Registrierung vorhanden ist. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf Ihre Azure-Abonnementressourcen mithilfe der rollenbasierten Zugriffssteuerung. Dieser Blogbeitrag enthält auch weitere Informationen zur Verwendung der Dienstprinzipalauthentifizierung.
SSL-Fehler
Wenn Sie ein Zertifikat im App Service verwenden möchten, muss das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle signiert werden. Wenn Ihre Web-App Zertifikatüberprüfungsfehler meldet, verwenden Sie wahrscheinlich ein selbstsigniertes Zertifikat. Legen Sie eine Variable mit dem Namen VSTS_ARM_REST_IGNORE_SSL_ERRORS
auf den Wert true
in der Build- oder Releasepipeline fest, um den Fehler zu beheben.
Ein Release bleibt für längere Zeit hängen und wird dann nicht erfolgreich abgeschlossen.
Dieses Problem kann das Ergebnis unzureichender Kapazität in Ihrem App Service Plan sein. Zur Behebung dieses Problems können Sie die App Service-Instanz hochskalieren, um die verfügbare CPU-, RAM- und Speicherplatzkapazität zu erhöhen, oder einen anderen App Service-Plan verwenden.
Fehlercodes vom Typ 5xx
Wenn ein 5xx-Fehler angezeigt wird, überprüfen Sie die status Ihres Azure-Diensts.
Azure-Funktion funktioniert plötzlich nicht mehr
Azure Functions kann plötzlich nicht mehr funktionieren, wenn seit der letzten Bereitstellung mehr als ein Jahr vergangen ist. Wenn Sie mit "RunFromPackage" in "deploymentMethod" bereitstellen, wird eine SAS mit einem Ablaufdatum von 1 Jahr generiert und als Wert von "WEBSITE_RUN_FROM_PACKAGE" in der Anwendungskonfiguration festgelegt. Azure Functions verwendet diese SAS, um auf die Paketdatei für die Funktionsausführung zu verweisen. Wenn die SAS also abgelaufen ist, wird die Funktion nicht ausgeführt. Um dieses Problem zu beheben, stellen Sie erneut bereit, um eine SAS mit einem Ablaufdatum von einem Jahr zu generieren.
Fehler: Keine Paketdatei mit dem angegebenen Muster gefunden.
Überprüfen Sie, ob das in der Aufgabe angegebene Paket als Artefakt in der Buildphase oder in einer vorherigen Phase veröffentlicht und im aktuellen Auftrag heruntergeladen wurde.
Fehler: Die Veröffentlichung über die ZIP-Bereitstellungsoption wird für den msBuild-Pakettyp nicht unterstützt.
Webpakete, die mit der MSBuild-Aufgabe (mit Standardargumenten) erstellt werden, haben eine geschachtelte Ordnerstruktur, die nur von Web Deploy ordnungsgemäß bereitgestellt werden kann. Diese Pakete können nicht mithilfe der Bereitstellungsoption „publish-to-zip“ bereitgestellt werden. Befolgen Sie die nachstehenden Schritte, um die Paketstruktur zu konvertieren:
Ändern Sie in der Build-Lösungsaufgabe 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 den Stammordner oder die zu archivierende Datei in
$(System.DefaultWorkingDirectory)\\WebAppContent
.Deaktivieren Sie das Kontrollkästchen Name des Stammordners den Archivpfaden voranstellen:
Die Web-App-Bereitstellung unter Windows ist erfolgreich, aber die App funktioniert nicht.
Eine mögliche Ursache besteht darin, dass „web.config“ nicht in Ihrer App vorhanden ist. Sie können ihrer Quelle entweder eine web.config Datei hinzufügen oder mithilfe der Optionen für Dateitransformationen und Variablenersetzung der Aufgabe automatisch generieren.
Klicken Sie auf die Aufgabe, und rufen Sie die Funktion zum Konfigurieren von web.config-Parametern für Python-, Node.js-, Go- und Java-Apps auf.
Klicken Sie unter „web.config-Parameter generieren“ auf die Schaltfläche „Mehr“ für Python-, Node.js-, Go- und Java-Apps aus, um die Parameter zu bearbeiten.
Wählen Sie in der Dropdownliste Ihren Anwendungstyp aus.
Klicken Sie auf „OK“. Dadurch werden web.config-Parameter aufgefüllt, die zum Generieren der web.config-Datei erforderlich sind.
Hinweis
Dieser Abschnitt ist veraltet und wurde durch den Task "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_USE fehl. Um den Fehler zu beheben, stellen Sie sicher, dass gesperrte Dateien umbenennen und die Optionen App offline verwenden in der Aufgabe aktiviert sind. Verwenden Sie für Bereitstellungen ohne Downtime den Slotaustausch.
Sie können auch die Bereitstellung durch Ausführung über Pakete verwenden, um eine Ressourcensperrung zu vermeiden.
Webbereitstellungsfehler
Wenn Sie Ihre App mithilfe von Web Deploy bereitstellen, enthält das Protokoll in manchen Fehlerszenarien einen Fehlercode. Informationen zur Problembehandlung eines Webbereitstellungsfehlers finden Sie unter Fehlercodes für die Webbereitstellung.
Die Web-App-Bereitstellung in der App Service-Umgebung (App Service Environment, ASE) funktioniert nicht.
- Stellen Sie sicher, dass sich der Azure DevOps-Build-Agent im gleichen VNET befindet (Subnetz kann unterschiedlich sein) wie der interne Load Balancer (ILB) von ASE. Dadurch kann der Agent Code aus Azure DevOps abrufen und in 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, die in einem virtuellen Netzwerk bereitgestellt werden, kann der Agent vollständig isoliert werden.
- Der Build-Agent muss mit der DNS-Konfiguration der Web-App konfiguriert werden, in der er bereitgestellt werden 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
-allowUntrusted
Option im Bereitstellungstask für MSDeploy festgelegt werden. Es wird auch empfohlen, die VariableVSTS_ARM_REST_IGNORE_SSL_ERRORS
auf true festzulegen. Wenn ein Zertifikat einer Zertifizierungsstelle für die ASE-Konfiguration verwendet wird, sollte dies nicht erforderlich sein. Wenn Sie die Bereitstellung in einem Slot durchführen, der für den automatischen Austausch konfiguriert ist, tritt beim Austausch ein Fehler auf, es sei denn, Sie legenSCM_SKIP_SSL_VALIDATION
oder in den Konfigurationseinstellungen für App Services fest oderSCM_SKIP_ASE_SSL_VALIDATION
auf1
.
Häufig gestellte Fragen
Was ist der Unterschied zwischen den AzureWebApp
Aufgaben und AzureRmWebAppDeployment
?
Der Azure-Web-App-Task (AzureWebApp
) ist die einfachste Möglichkeit zum Bereitstellen in einer Azure-Web-App. Standardmäßig erfolgt Ihre Bereitstellung in der Stammanwendung in der Azure-Web-App.
Der Azure App Service Task Bereitstellen (AzureRmWebAppDeployment
) kann weitere benutzerdefinierte Szenarien behandeln, z. B.:
- Ändern Sie Konfigurationseinstellungen in Webpaketen und XML-Parameterdateien.
- Stellen Sie mit Web Deploy bereit, wenn Sie mit dem IIS-Bereitstellungsprozess vertraut sind.
- Bereitstellen in virtuellen Anwendungen
- Stellen Sie die Bereitstellung in anderen App-Typen wie Container-Apps, Funktions-Apps, WebJobs oder API- und mobile Apps bereit.
Hinweis
Dateitransformationen und das Ersetzen von Variablen werden auch von der separaten Dateitransformationsaufgabe zur Verwendung in Azure Pipelines unterstützt. Sie können die Dateitransformationsaufgabe verwenden, um Dateitransformationen und Variablenersetzungen auf beliebige Konfigurations- und Parameterdateien anzuwenden.
Wie sollte ich meine Dienstverbindung konfigurieren?
Diese Aufgabe erfordert eine Azure Resource Manager-Dienstverbindung.
Wie sollte ich die Webauftragsbereitstellung mit Application Insights konfigurieren?
Wenn Sie die Bereitstellung in einem App Service durchführen, müssen Sie auch aktivieren, wenn Sie Application InsightsRemove additional files at destination
konfiguriert und aktiviert Exclude files from the App_Data folder
haben. Wenn Sie diese Option aktivieren, bleibt die Application Insights-Erweiterung in einem sicheren Zustand. Dieser Schritt ist erforderlich, da der fortlaufende Application Insights-WebJob im Ordner App_Data installiert ist.
Wie sollte ich meinen Agent bei einer Bereitstellung in App Service konfigurieren, wenn er sich hinter einem Proxy befindet?
Wenn für Ihren selbstgehosteten Agent ein Webproxy erforderlich ist, können Sie den Agent während der Konfiguration über den Proxy informieren. Dadurch kann Ihr Agent über den Proxy eine Verbindung mit Azure Pipelines oder Azure DevOps Server herstellen. Erfahren Sie mehr über das Ausführen eines selbstgehosteten Agents hinter einem Webproxy.
Beispiele
- Bereitstellen für einen bestimmten App-Typ
- Bereitstellen im Azure Web App Linux-Container
- Bereitstellen einer Web-App in einer Windows-App Service über Bereitstellungsslots hinweg
- Beispielskript nach der Bereitstellung
Bereitstellen für einen bestimmten App-Typ
Legen Sie zum Bereitstellen für einen bestimmten App-Typ einen der folgenden akzeptierten Werte fest appType
: 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). Bei fehlender Erwähnung 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
Das folgende YAML-Beispiel wird in einem 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 in einer Windows-App Service über Bereitstellungsslots hinweg
Im folgenden Beispiel wird eine Web-App in einer Windows-App Service über Bereitstellungsslots 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 nach der Bereitstellung
Der Task 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 Service 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 auf dem App Service wiederherstellen möchten. Das Wiederherstellen von Paketen für Node-, PHP- und Python-Apps hilft, Timeouts zu vermeiden, wenn die Anwendungsabhängigkeit dazu führt, dass ein großes Artefakt 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, Klassischer Build, klassische Version |
Wird ausgeführt auf | Agent, DeploymentGroup |
Forderungen | Keine |
Capabilities | Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag. |
Befehlseinschränkungen | Any |
Einstellbare Variablen | Any |
Agent-Version | 2.104.1 oder höher |
Aufgabenkategorie | Bereitstellen |
Weitere Informationen
- Dieser Task ist als Open-Source-Beitrag auf GitHub verfügbar. Feedback und Beiträge sind willkommen.