Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Gunakan tugas ini untuk menyebarkan ke Azure App Service aplikasi web, seluler, atau API menggunakan Docker, Java, .NET, .NET Core, Node.js, PHP, Python, atau Ruby.
Nota
Gunakan AzureFunctionApp@2 untuk menyebarkan aplikasi Azure Functions.
Sintaksis
# 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.
Input
Jenis koneksi
string
. Diperlukan. Nilai yang diizinkan: AzureRM
(Azure Resource Manager), PublishProfile
(Terbitkan Profil). Nilai default: AzureRM
.
Tentukan jenis koneksi layanan yang akan digunakan untuk menyebarkan Aplikasi Web.
Tentukan Publish Profile
untuk menggunakan Visual Studio yang dibuat Menerbitkan profil.
langganan Azure
Alias input: ConnectedServiceName
.
string
. Diperlukan saat ConnectionType = AzureRM
.
Tentukan langganan Azure Resource Manager untuk penyebaran.
PublishProfilePath
-
Terbitkan jalur profil
string
. Diperlukan saat ConnectionType = PublishProfile
. Nilai default: $(System.DefaultWorkingDirectory)/**/*.pubxml
.
Jalur menerbitkan profil dibuat dari Visual Studio.
PublishProfilePassword
-
Menerbitkan kata sandi profil
string
. Diperlukan saat ConnectionType = PublishProfile
.
Disarankan untuk menyimpan kata sandi dalam variabel rahasia dan menggunakan variabel tersebut di sini misalnya $(Password)
.
appType
-
jenis App Service
Alias input: WebAppKind
.
string
. Diperlukan saat ConnectionType = AzureRM
. Nilai yang diizinkan: webApp
(Aplikasi Web di Windows), webAppLinux
(Aplikasi Web di Linux), webAppContainer
(Aplikasi Web untuk Kontainer (Linux)), webAppHyperVContainer
(Aplikasi Web untuk Kontainer (Windows)), functionApp
(Aplikasi Fungsi di Windows (Tidak Disarankan, Gunakan Tugas Azure Functions)), functionAppLinux
(Aplikasi Fungsi di Linux (Tidak Disarankan, Gunakan Tugas Azure Functions)), functionAppContainer
(Aplikasi Fungsi untuk Kontainer (Linux) (Tidak Disarankan, Gunakan Azure Functions untuk Tugas kontainer)), apiApp
(Aplikasi API), mobileApp
(Aplikasi Seluler). Nilai default: webApp
.
Pilih dari Aplikasi Web Di Windows, Aplikasi Web Di Linux, Aplikasi Web untuk Kontainer, Aplikasi Fungsi, Aplikasi Fungsi di Linux, Aplikasi Fungsi untuk Kontainer dan Aplikasi Seluler.
appType
-
jenis App Service
Alias input: WebAppKind
.
string
. Diperlukan saat ConnectionType = AzureRM
. Nilai yang diizinkan: webApp
(Aplikasi Web di Windows), webAppLinux
(Aplikasi Web di Linux), webAppContainer
(Aplikasi Web untuk Kontainer (Linux)), functionApp
(Aplikasi Fungsi di Windows), functionAppLinux
(Aplikasi Fungsi di Linux), functionAppContainer
(Aplikasi Fungsi untuk Kontainer (Linux)), apiApp
(Aplikasi API), mobileApp
(Aplikasi Seluler). Nilai default: webApp
.
Pilih dari Aplikasi Web Di Windows, Aplikasi Web Di Linux, Aplikasi Web untuk Kontainer, Aplikasi Fungsi, Aplikasi Fungsi di Linux, Aplikasi Fungsi untuk Kontainer dan Aplikasi Seluler.
nama App Service
string
. Diperlukan saat ConnectionType = AzureRM
.
Tentukan nama Azure App Service yang sudah ada. Layanan aplikasi berdasarkan jenis aplikasi yang dipilih hanya akan dicantumkan saat menggunakan asisten tugas.
deployToSlotOrASE
-
Menyebarkan ke slot atau Lingkungan App Service
Alias input: DeployToSlotOrASEFlag
.
boolean
. Fakultatif. Gunakan saat ConnectionType = AzureRM && WebAppKind != ""
. Nilai default: false
.
Tentukan opsi untuk menyebarkan ke slot penyebaran yang ada atau lingkungan Azure App Service. Untuk kedua target, tugas memerlukan nama Grup Sumber Daya.
Jika target penyebaran adalah slot, secara default penyebarannya adalah ke slot Produksi Production
dan tentukan hanya nama Grup Sumber Daya.
grup Sumber Daya
string
. Diperlukan saat DeployToSlotOrASEFlag = true
.
Nama grup Sumber Daya diperlukan saat target penyebaran adalah slot penyebaran atau Lingkungan App Service.
Tentukan grup Sumber Daya Azure yang berisi Azure App Service yang ditentukan di atas.
Slot
string
. Diperlukan saat DeployToSlotOrASEFlag = true
. Nilai default: production
.
Tentukan slot yang ada selain slot Produksi.
DockerNamespace
-
Registri atau Namespace
string
. Diperlukan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
.
Nama domain tingkat atas yang unik secara global untuk registri atau namespace spesifik Anda. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan berformat: {registry or namespace}/{repository}:{tag}
. Misalnya, myregistry.azurecr.io/nginx:latest
.
DockerNamespace
-
Registri atau Namespace
string
. Diperlukan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
.
Nama domain tingkat atas yang unik secara global untuk registri atau namespace spesifik Anda. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan berformat: {registry or namespace}/{repository}:{tag}
. Misalnya, myregistry.azurecr.io/nginx:latest
.
DockerNamespace
-
Registri atau Namespace
string
. Diperlukan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer
.
Nama domain tingkat atas yang unik secara global untuk registri atau namespace spesifik Anda. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan berformat: {registry or namespace}/{repository}:{tag}
. Misalnya, myregistry.azurecr.io/nginx:latest
.
Gambar
string
. Diperlukan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
.
Nama repositori tempat gambar kontainer disimpan. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan berformat: {registry or namespace}/{repository}:{tag}
. Misalnya, myregistry.azurecr.io/nginx:latest
.
Gambar
string
. Diperlukan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
.
Nama repositori tempat gambar kontainer disimpan. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan berformat: {registry or namespace}/{repository}:{tag}
. Misalnya, myregistry.azurecr.io/nginx:latest
.
Gambar
string
. Diperlukan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer
.
Nama repositori tempat gambar kontainer disimpan. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan berformat: {registry or namespace}/{repository}:{tag}
. Misalnya, myregistry.azurecr.io/nginx:latest
.
Tag
string
. Fakultatif. Gunakan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
.
Tag adalah mekanisme yang digunakan registri untuk menerapkan informasi versi ke gambar Docker. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan berformat: {registry or namespace}/{repository}:{tag}
. Misalnya, myregistry.azurecr.io/nginx:latest
.
Tag
string
. Fakultatif. Gunakan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
.
Tag adalah mekanisme yang digunakan registri untuk menerapkan informasi versi ke gambar Docker. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan berformat: {registry or namespace}/{repository}:{tag}
. Misalnya, myregistry.azurecr.io/nginx:latest
.
Tag
string
. Fakultatif. Gunakan saat WebAppKind = webAppContainer || WebAppkind = functionAppContainer
.
Tag adalah mekanisme yang digunakan registri untuk menerapkan informasi versi ke gambar Docker. Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan berformat: {registry or namespace}/{repository}:{tag}
. Misalnya, myregistry.azurecr.io/nginx:latest
.
aplikasi virtual
string
. Fakultatif. Gunakan saat WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != ""
.
Tentukan nama Aplikasi Virtual yang telah dikonfigurasi di portal Microsoft Azure. Opsi ini tidak diperlukan untuk penyebaran ke akar situs web. Aplikasi Virtual harus telah dikonfigurasi sebelum penyebaran proyek web.
aplikasi virtual
string
. Fakultatif. Gunakan saat WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != ""
.
Tentukan nama Aplikasi Virtual yang telah dikonfigurasi di portal Microsoft Azure. Opsi ini tidak diperlukan untuk penyebaran ke akar situs web. Aplikasi Virtual harus telah dikonfigurasi sebelum penyebaran proyek web.
Paket atau folder
Alias input: Package
.
string
. Diperlukan saat ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux
. Nilai default: $(System.DefaultWorkingDirectory)/**/*.zip
.
Jalur file ke paket, atau ke folder yang berisi konten layanan aplikasi yang dihasilkan oleh MSBuild atau file zip atau perang terkompresi.
Variabel adalah
Misalnya, $(System.DefaultWorkingDirectory)/\*\*/\*.zip
atau $(System.DefaultWorkingDirectory)/\*\*/\*.war
.
Tumpukan Runtime
string
. Fakultatif. Gunakan saat WebAppKind = webAppLinux
.
Tentukan kerangka kerja dan versi.
Tumpukan Runtime
string
. Fakultatif. Gunakan saat WebAppKind = functionAppLinux
. Nilai yang diizinkan: DOTNET|2.2
(DOTNET|2.2 (functionapp v2)), DOTNET|3.1
(DOTNET|3.1 (functionapp v3)), JAVA|8
(JAVA|8 (functionapp v2/v3)), JAVA|11
(JAVA|11 (functionapp v3)), NODE|8
(NODE|8 (functionapp v2)), NODE|10
(NODE|10 (functionapp v2/v3)), NODE|12
(NODE|12 (functionapp v3)), NODE|14
(NODE|14 (functionapp v3)), PYTHON|3.6
(PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7
(PYTHON|3.7 (functionapp v2/v3)), PYTHON|3.8
(PYTHON|3.8 (functionapp v3)).
Tentukan kerangka kerja dan versi. Lihat ringkasan versi runtime Azure Functions untuk versi runtime yang didukung. Nilai lama seperti DOCKER|microsoft/azure-functions-*
tidak digunakan lagi. Silakan gunakan nilai baru dari menu dropdown.
Tumpukan Runtime
string
. Fakultatif. Gunakan saat WebAppKind = functionAppLinux
. Nilai yang diizinkan: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0
(.NET), DOCKER|microsoft/azure-functions-node8:2.0
(JavaScript).
Tentukan kerangka kerja dan versi.
perintah Startup
string
. Fakultatif. Gunakan saat WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer
.
Tentukan perintah Startup. Misalnya:
filename.dll
dotnet exec
dotnet filename.dll
.
perintah Startup
string
. Fakultatif. Gunakan saat WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer
.
Tentukan perintah Startup. Misalnya:
filename.dll
dotnet exec
dotnet filename.dll
.
perintah Startup
string
. Fakultatif. Gunakan saat WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux
.
Tentukan perintah Startup. Misalnya:
filename.dll
dotnet exec
dotnet filename.dll
.
jenis skrip Penyebaran
string
. Fakultatif. Gunakan saat ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
. Nilai yang diizinkan: Inline Script
, File Path
(Jalur File Skrip).
Menyesuaikan penyebaran dengan menyediakan skrip yang berjalan pada Azure App Service setelah penyebaran berhasil. Pilih skrip penyebaran sebaris atau jalur dan nama file skrip. Pelajari selengkapnya tentangPenyebaran Azure App Service
jenis skrip Penyebaran
string
. Fakultatif. Gunakan saat ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
. Nilai yang diizinkan: Inline Script
, File Path
(Jalur File Skrip).
Menyesuaikan penyebaran dengan menyediakan skrip yang berjalan pada Azure App Service setelah penyebaran berhasil. Pilih skrip penyebaran sebaris atau jalur dan nama file skrip. Pelajari selengkapnya tentangPenyebaran Azure App Service
Skrip Sebaris
string
. Diperlukan saat ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
. Nilai default: :: You can provide your deployment commands here. One command per line.
.
Skrip yang akan dijalankan. Anda dapat memberikan perintah penyebaran Anda di sini, satu perintah per baris. Lihat contoh berikut.
Skrip Sebaris
string
. Diperlukan saat ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
. Nilai default: :: You can provide your deployment commands here. One command per line.
.
Skrip yang akan dijalankan. Anda dapat memberikan perintah penyebaran Anda di sini, satu perintah per baris. Lihat contoh berikut.
ScriptPath
-
jalur skrip Penyebaran
string
. Diperlukan saat ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
.
Jalur dan nama skrip yang akan dijalankan.
ScriptPath
-
jalur skrip Penyebaran
string
. Diperlukan saat ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
.
Jalur dan nama skrip yang akan dijalankan.
WebConfigParameters
-
Menghasilkan parameter web.config untuk aplikasi Python, Node.js, Go, dan Java
string
. Fakultatif. Gunakan saat WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
.
Web.config
standar akan dibuat dan disebarkan ke Azure App Service jika aplikasi tidak memilikinya. Nilai dalam web.config
dapat diedit dan bervariasi berdasarkan kerangka kerja aplikasi. Misalnya, untuk aplikasi node.js
, web.config
akan memiliki file Startup dan nilai modul iis_node. Fitur edit ini hanya untuk web.config
yang dihasilkan. Pelajari selengkapnya tentangPenyebaran Azure App Service
WebConfigParameters
-
Menghasilkan parameter web.config untuk aplikasi Python, Node.js, Go, dan Java
string
. Fakultatif. Gunakan saat WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
.
Web.config
standar akan dibuat dan disebarkan ke Azure App Service jika aplikasi tidak memilikinya. Nilai dalam web.config
dapat diedit dan bervariasi berdasarkan kerangka kerja aplikasi. Misalnya, untuk aplikasi node.js
, web.config
akan memiliki file Startup dan nilai modul iis_node. Fitur edit ini hanya untuk web.config
yang dihasilkan. Pelajari selengkapnya tentangPenyebaran Azure App Service
pengaturan Aplikasi
string
. Fakultatif. Gunakan saat ConnectionType = AzureRM
.
Mengedit pengaturan aplikasi aplikasi web menggunakan sintaks -key value
. Nilai yang berisi spasi harus diapit dalam tanda kutip ganda. Contoh: -Port 5000 -RequestTimeout 5000
dan -WEBSITE_TIME_ZONE "Eastern Standard Time"
. Untuk menyediakan dua nilai kunci atau lebih, nilai kunci harus dipisahkan oleh spasi. Contoh: -key1 "Value1" -Key2 "Value2"
.
pengaturan Konfigurasi
string
. Fakultatif. Gunakan saat ConnectionType = AzureRM
.
Mengedit pengaturan konfigurasi aplikasi web menggunakan sintaks -key value
. Nilai yang berisi spasi harus diapit dalam tanda kutip ganda. Contoh: -phpVersion 5.6 -linuxFxVersion node|6.11
.
enableCustomDeployment
-
Pilih metode penyebaran
Alias input: UseWebDeploy
.
boolean
. Fakultatif. Gunakan saat ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai default: false
.
Jika tidak dicentang atau salah, tugas secara otomatis mendeteksi metode penyebaran terbaik berdasarkan jenis aplikasi, format paket, dan parameter lainnya. Centang opsi ini di asisten tugas untuk melihat metode penyebaran yang didukung, dan pilih salah satu untuk menyebarkan aplikasi Anda.
enableCustomDeployment
-
Pilih metode penyebaran
Alias input: UseWebDeploy
.
boolean
. Fakultatif. Gunakan saat ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai default: false
.
Jika tidak dicentang atau salah, tugas secara otomatis mendeteksi metode penyebaran terbaik berdasarkan jenis aplikasi, format paket, dan parameter lainnya. Centang opsi ini di asisten tugas untuk melihat metode penyebaran yang didukung, dan pilih salah satu untuk menyebarkan aplikasi Anda.
metode Penyebaran
string
. Diperlukan saat UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai yang diizinkan: webDeploy
(Web Deploy), zipDeploy
(Zip Deploy), runFromZip
(Run From Package). Nilai default: webDeploy
.
Menentukan metode penyebaran untuk aplikasi.
metode Penyebaran
string
. Diperlukan saat UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai yang diizinkan: webDeploy
(Web Deploy), zipDeploy
(Zip Deploy), runFromZip
(Run From Package). Nilai default: webDeploy
.
Menentukan metode penyebaran untuk aplikasi.
TakeAppOfflineFlag
-
Mengambil Offline Aplikasi
boolean
. Fakultatif. Gunakan saat UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai default: true
.
Tentukan opsi ini untuk membuat Azure App Service offline dengan menempatkan file app_offline.htm
di direktori akar sebelum operasi sinkronisasi dimulai. File akan dihapus setelah sinkronisasi berhasil diselesaikan.
TakeAppOfflineFlag
-
Mengambil Offline Aplikasi
boolean
. Fakultatif. Gunakan saat UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai default: true
.
Tentukan opsi ini untuk membuat Azure App Service offline dengan menempatkan file app_offline.htm
di direktori akar sebelum operasi sinkronisasi dimulai. File akan dihapus setelah sinkronisasi berhasil diselesaikan.
file SetParameters
string
. Fakultatif. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
.
Lokasi file SetParameters.xml
yang akan digunakan.
file SetParameters
string
. Fakultatif. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
.
Lokasi file SetParameters.xml
yang akan digunakan.
RemoveAdditionalFilesFlag
-
Menghapus file tambahan di tujuan
boolean
. Fakultatif. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai default: false
.
Tentukan 'true' untuk menghapus file di Azure App Service yang tidak memiliki file yang cocok dalam paket atau folder App Service. Ini juga akan menghapus semua file yang terkait dengan ekstensi apa pun yang diinstal pada Azure App Service ini. Untuk mencegah hal ini, pilih kotak centang Exclude files from App_Data folder
.
RemoveAdditionalFilesFlag
-
Menghapus file tambahan di tujuan
boolean
. Fakultatif. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai default: false
.
Tentukan 'true' untuk menghapus file di Azure App Service yang tidak memiliki file yang cocok dalam paket atau folder App Service. Ini juga akan menghapus semua file yang terkait dengan ekstensi apa pun yang diinstal pada Azure App Service ini. Untuk mencegah hal ini, pilih kotak centang Exclude files from App_Data folder
.
ExcludeFilesFromAppDataFlag
-
Mengecualikan file dari folder App_Data
boolean
. Fakultatif. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai default: true
.
Tentukan opsi untuk mencegah file di folder App_Data
disebarkan ke/dihapus dari Azure App Service.
ExcludeFilesFromAppDataFlag
-
Mengecualikan file dari folder App_Data
boolean
. Fakultatif. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai default: true
.
Tentukan opsi untuk mencegah file di folder App_Data
disebarkan ke/dihapus dari Azure App Service.
AdditionalArguments
-
Argumen tambahan
string
. Fakultatif. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai default: -retryAttempts:6 -retryInterval:10000
.
Argumen Web Deploy tambahan mengikuti sintaks -key:value
. Ini akan diterapkan saat menyebarkan Azure App Service. Contoh: -disableLink:AppPoolExtension -disableLink:ContentExtension
. Pelajari selengkapnya tentang Pengaturan Operasi Penyebaran Web.
AdditionalArguments
-
Argumen tambahan
string
. Fakultatif. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai default: -retryAttempts:6 -retryInterval:10000
.
Argumen Web Deploy tambahan mengikuti sintaks -key:value
. Ini akan diterapkan saat menyebarkan Azure App Service. Contoh: -disableLink:AppPoolExtension -disableLink:ContentExtension
. Pelajari selengkapnya tentang Pengaturan Operasi Penyebaran Web.
RenameFilesFlag
-
Mengganti nama file terkunci
boolean
. Fakultatif. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai default: true
.
Tentukan nilai default untuk mengaktifkan bendera msdeploy MSDEPLOY_RENAME_LOCKED_FILES=1
di pengaturan aplikasi Azure App Service. Jika diatur, opsi memungkinkan msdeploy untuk mengganti nama file yang dikunci selama penyebaran aplikasi.
RenameFilesFlag
-
Mengganti nama file terkunci
boolean
. Fakultatif. Gunakan saat UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
. Nilai default: true
.
Tentukan nilai default untuk mengaktifkan bendera msdeploy MSDEPLOY_RENAME_LOCKED_FILES=1
di pengaturan aplikasi Azure App Service. Jika diatur, opsi memungkinkan msdeploy untuk mengganti nama file yang dikunci selama penyebaran aplikasi.
transformasi XML
Alias input: XmlTransformation
.
boolean
. Fakultatif. Gunakan saat WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
. Nilai default: false
.
Transformasi konfigurasi akan dijalankan untuk *.Release.config
dan *.<EnvironmentName>.config
pada *.config file
. Transformasi konfigurasi berjalan sebelum substitusi variabel.
transformasi XML hanya didukung untuk platform Windows.
transformasi XML
Alias input: XmlTransformation
.
boolean
. Fakultatif. Gunakan saat WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
. Nilai default: false
.
Transformasi konfigurasi akan dijalankan untuk *.Release.config
dan *.<EnvironmentName>.config
pada *.config file
. Transformasi konfigurasi berjalan sebelum substitusi variabel.
transformasi XML hanya didukung untuk platform Windows.
substitusi variabel XML
Alias input: XmlVariableSubstitution
.
boolean
. Fakultatif. Gunakan saat WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
. Nilai default: false
.
Variabel yang ditentukan dalam alur build atau rilis akan dicocokkan dengan entri kunci atau nama di bagian configSections
, appSettings
, applicationSettings
, dan connectionStrings
dari file konfigurasi dan file parameters.xml
apa pun. Substitusi variabel berjalan setelah transformasi konfigurasi.
Jika variabel yang sama didefinisikan dalam alur rilis dan dalam tahap, variabel tahap akan menggantikan variabel alur rilis. Pelajari selengkapnya tentang [substitusi variabel XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).
substitusi variabel XML
Alias input: XmlVariableSubstitution
.
boolean
. Fakultatif. Gunakan saat WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
. Nilai default: false
.
Variabel yang ditentukan dalam alur build atau rilis akan dicocokkan dengan entri kunci atau nama di bagian configSections
, appSettings
, applicationSettings
, dan connectionStrings
dari file konfigurasi dan file parameters.xml
apa pun. Substitusi variabel berjalan setelah transformasi konfigurasi.
Jika variabel yang sama didefinisikan dalam alur rilis dan dalam tahap, variabel tahap akan menggantikan variabel alur rilis. Pelajari selengkapnya tentang [substitusi variabel XML]](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution).
JSONFiles
-
substitusi variabel JSON
string
. Fakultatif. Gunakan saat WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
.
Menyediakan daftar file JSON yang dipisahkan baris baru untuk menggantikan nilai variabel. Nama file harus relatif terhadap folder akar. Untuk mengganti variabel JSON yang berlapis atau hierarkis, tentukan variabel tersebut menggunakan ekspresi JSONPath
. Misalnya, untuk mengganti nilai ConnectionString
dalam sampel di bawah ini, tentukan variabel bernama Data.DefaultConnection.ConnectionString
dalam alur build atau rilis (atau tahap alur rilis).
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
Substitusi variabel berjalan setelah transformasi konfigurasi. Catatan: Variabel alur build dan rilis dikecualikan dari substitusi. Pelajari selengkapnya tentang substitusi variabel JSON.
JSONFiles
-
substitusi variabel JSON
string
. Fakultatif. Gunakan saat WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
.
Menyediakan daftar file JSON yang dipisahkan baris baru untuk menggantikan nilai variabel. Nama file harus relatif terhadap folder akar. Untuk mengganti variabel JSON yang berlapis atau hierarkis, tentukan variabel tersebut menggunakan ekspresi JSONPath
. Misalnya, untuk mengganti nilai ConnectionString
dalam sampel di bawah ini, tentukan variabel bernama Data.DefaultConnection.ConnectionString
dalam alur build atau rilis (atau tahap alur rilis).
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
Substitusi variabel berjalan setelah transformasi konfigurasi. Catatan: Variabel alur build dan rilis dikecualikan dari substitusi. Pelajari selengkapnya tentang substitusi variabel JSON.
Opsi kontrol tugas
Semua tugas memiliki opsi kontrol selain input tugasnya. Untuk informasi selengkapnya, lihat opsi Kontrol dan properti tugas umum.
Variabel output
Tugas ini mendefinisikan variabel output berikut, yang dapat Anda konsumsi dalam langkah-langkah hilir, pekerjaan, dan tahapan.
AppServiceApplicationUrl
URL Aplikasi dari App Service yang dipilih.
Komentar
- Prasyarat untuk tugas
- Catatan penggunaan
- metode Penyebaran
- Pemecahan Masalah
- FAQ
Gunakan tugas ini untuk menyebarkan ke berbagai App Services di Azure. Tugas ini berfungsi pada agen lintas platform yang menjalankan Windows, Linux, atau Mac dan menggunakan beberapa teknologi penyebaran mendasar yang berbeda.
Tugas ini berfungsi untuk ASP.NET, ASP.NET Core, PHP, Java, Python, Go, dan aplikasi web berbasis Node.js.
Tugas dapat digunakan untuk menyebarkan ke berbagai Azure App Services seperti:
- Web Apps di Windows dan Linux
- Aplikasi Web untuk Kontainer
- Function Apps di Windows dan Linux
- Aplikasi Fungsi untuk Kontainer
- WebJobs
- Aplikasi yang dikonfigurasi di bawah
Azure App Service Environments
Prasyarat untuk tugas
Prasyarat berikut harus disiapkan di komputer target agar tugas berfungsi dengan benar.
instans App Service. Tugas ini digunakan untuk menyebarkan proyek Aplikasi Web atau proyek Azure Function ke instans Azure App Service yang sudah ada, yang harus ada sebelum tugas berjalan. Instans App Service dapat dibuat dari portal Microsoft Azure dan dikonfigurasi di sana. Atau, tugas Azure PowerShell
dapat digunakan untuk menjalankan skrip Azure PowerShell untuk memprovisikan dan mengonfigurasi Aplikasi Web.langganan Azure. Untuk menyebarkan ke Azure, langganan Azure harus ditautkan ke alur. Tugas tidak berfungsi dengan koneksi layanan Azure Classic, dan tidak akan mencantumkan koneksi ini dalam pengaturan tugas.
Catatan penggunaan
- Tugas ini hanya berfungsi dengan API Azure Resource Manager .
- Untuk mengabaikan kesalahan SSL, tentukan variabel bernama
VSTS_ARM_REST_IGNORE_SSL_ERRORS
dengan nilaitrue
dalam alur. Jika Anda menyebarkan ke slot yang dikonfigurasi untuk pertukaran otomatis, pertukaran akan gagal kecuali Anda mengaturSCM_SKIP_SSL_VALIDATION
atauSCM_SKIP_ASE_SSL_VALIDATION
ke1
di pengaturan konfigurasi layanan aplikasi. - Untuk aplikasi .NET yang menargetkan Aplikasi Web di Windows, hindari kegagalan penyebaran dengan kesalahan yang
ERROR_FILE_IN_USE
dengan memastikan bahwa Mengganti nama file terkunci dan pengaturan Ambil Aplikasi Offline diaktifkan. Untuk penyebaran waktu henti nol, gunakan opsi pertukaran slot. - Saat menyebarkan ke App Service yang memiliki Application Insights yang dikonfigurasi, dan Anda telah mengaktifkan Menghapus file tambahan ditujuan , pastikan Anda juga mengaktifkan file Kecualikan dari folder App_Data untuk mempertahankan ekstensi Application insights dalam keadaan aman. Ini diperlukan karena pekerjaan web berkelanjutan Application Insights diinstal ke folder App_Data.
Metode penyebaran
Beberapa metode penyebaran tersedia dalam tugas ini. Web Deploy (msdeploy.exe) adalah default. Untuk mengubah opsi penyebaran, perluas Opsi Penyebaran Tambahan dan aktifkan Pilih metode penyebaran untuk memilih dari opsi penyebaran berbasis paket tambahan.
Berdasarkan jenis Azure App Service dan agen, tugas memilih teknologi penyebaran yang sesuai. Berbagai teknologi penyebaran yang digunakan oleh tugas adalah:
- Penyebaran Web
- REST API
Kudu - Container Registry
- Penyebaran Zip
- Jalankan dari Paket
- Penyebaran Perang
Secara default, tugas mencoba memilih teknologi penyebaran yang sesuai berdasarkan jenis paket input, jenis App Service, dan sistem operasi agen.
Deteksi Logika Otomatis
Untuk agen berbasis windows.
Jenis App Service | Jenis paket | Metode Penyebaran |
---|---|---|
WebApp di Linux atau Aplikasi Fungsi di Linux | Perang Folder/Zip/jar |
Penyebaran Perang Zip |
WebApp untuk Kontainer (Linux) atau Aplikasi Fungsi untuk Kontainer (Linux) | Memperbarui pengaturan Aplikasi | NA |
WebApp di Windows, Aplikasi Fungsi di Windows, Aplikasi API, atau Aplikasi Seluler | Jenis paket War Jar MsBuild atau sebarkan ke aplikasi virtual Folder/Zip |
Penyebaran Perang Zip Deploy Web Deploy if postDeploymentScript == true, Zip Deploy else, Run From Package |
Pada agen non-Windows (untuk jenis App Service apa pun), tugas bergantung pada API REST Kudu untuk menyebarkan aplikasi.
Penyebaran Web
Web Deploy (msdeploy.exe) dapat digunakan untuk menyebarkan Aplikasi Web di Windows atau Aplikasi Fungsi ke Azure App Service menggunakan agen Windows. Web Deploy kaya fitur dan menawarkan opsi seperti:
Ganti nama file yang dikunci: Ganti nama file apa pun yang masih digunakan oleh server web dengan mengaktifkan bendera msdeploy
MSDEPLOY\_RENAME\_LOCKED\_FILES=1
di pengaturan Azure App Service. Opsi ini, jika diatur, memungkinkan msdeploy untuk mengganti nama file yang dikunci selama penyebaran aplikasi.Menghapus file tambahan di tujuan: Menghapus file di Azure App Service yang tidak memiliki file yang cocok dalam paket atau folder artefak App Service yang disebarkan.
Mengecualikan file dari folder App_Data: Cegah file di folder App_Data (dalam paket/folder artefak yang sedang disebarkan) yang disebarkan ke Azure App Service
argumen Penyebaran Web Tambahan: argumen yang akan diterapkan saat menyebarkan Azure App Service. Contoh:
-disableLink:AppPoolExtension -disableLink:ContentExtension
. Untuk contoh pengaturan operasi Web Deploy lainnya, lihat Pengaturan Operasi Penyebaran Web.
Instal Web Deploy pada agen dari Web Deploy 3.6. Web Deploy 3.5 harus diinstal tanpa dukungan SQL yang dibundel. Tidak perlu memilih pengaturan kustom apa pun saat menginstal Web Deploy. Web Deploy diinstal pada C:/Program Files (x86)/IIS/Microsoft Web Deploy V3
.
REST API Kudu
REST API Kudu bekerja pada agen otomatisasi Windows dan Linux saat target adalah Aplikasi Web di Windows, Web App di Linux (sumber bawaan), atau Aplikasi Fungsi. Tugas ini menggunakan Kudu untuk menyalin file ke layanan Azure App.
Registri Kontainer
Berfungsi pada agen otomatisasi Windows dan Linux saat targetnya adalah Aplikasi Web untuk Kontainer. Tugas memperbarui aplikasi dengan mengatur registri kontainer, repositori, nama gambar, dan informasi tag yang sesuai. Anda juga dapat menggunakan tugas untuk meneruskan perintah startup untuk gambar kontainer.
Penyebaran Zip
Mengharapkan paket penyebaran .zip dan menyebarkan konten file ke folder
Jalankan Dari Paket
Mengharapkan paket penyebaran yang sama dengan Zip Deploy. Namun, alih-alih menyebarkan file ke folder
Penyebaran Perang
Mengharapkan paket penyebaran .war dan menyebarkan konten file ke folder wwwroot
Pemecahan masalah
Saya tidak dapat Menyebarkan Web ke Azure App Service saya menggunakan autentikasi ID Microsoft Entra dari agen Windows saya
Tugas penyebaran Azure App Service mendukung menyambungkan ke Microsoft Azure dengan koneksi layanan ARM menggunakan ID Microsoft Entra, kecuali jika ada tiga kondisi berikut:
- Anda menggunakan format paket Web Deploy pada agen Windows
- Agen Anda berjalan dengan versi msdeploy.exe yang lebih lama (misalnya saat menggunakan windows-2019 gambar agen yang dihosting)
- Autentikasi dasar dinonaktifkan untuk Azure App Service Anda
Jika ketiga kondisi ini ada, Anda akan menerima kesalahan seperti App Service is configured to not use basic authentication. This requires Web Deploy msdeploy.exe version 7.1.7225.2108 or higher. You need a version of Visual Studio that includes an updated version of msdeploy.exe. For more information, visit https://aka.ms/azdo-webapp-msdeploy.
Untuk mengatasi masalah ini, Anda dapat memilih dari opsi berikut, sesuai urutan preferensi.
- Perbarui gambar agen. Jika Anda menggunakan agen yang dihosting, pindahkan dari windows-2019
ke windows-2022 (atau windows-latest ). Jika Anda menggunakan agen yang dihost sendiri, instal Visual Studio 2022 di agen untuk mendapatkan versi msdeploy.exeyang lebih baru. - Jika Anda bergantung pada gambar agen yang lebih lama dan tidak dapat memperbarui agen untuk alur Anda, pertimbangkan untuk memisahkan pekerjaan sehingga tugas penyebaran Azure App Service berjalan pada windows-2022 (atau windows-latest).
- Jika opsi ini tidak memungkinkan, Anda dapat mengaktifkan autentikasi dasar untuk Azure App Service Anda.
Kesalahan: Tidak dapat mengambil token akses untuk Azure. Verifikasi apakah Perwakilan Layanan yang digunakan valid dan tidak kedaluwarsa.
Tugas ini menggunakan perwakilan layanan dalam koneksi layanan untuk mengautentikasi dengan Azure. Jika perwakilan layanan telah kedaluwarsa atau tidak memiliki izin ke App Service, tugas gagal dengan kesalahan ini. Verifikasi validitas perwakilan layanan yang digunakan dan ada dalam pendaftaran aplikasi. Untuk informasi selengkapnya, lihat Menggunakan kontrol akses berbasis peran untuk mengelola akses ke sumber daya langganan Azure Anda. Posting blog ini juga berisi informasi selengkapnya tentang menggunakan autentikasi perwakilan layanan.
Kesalahan SSL
Jika Anda ingin menggunakan sertifikat di App Service, sertifikat harus ditandatangani oleh otoritas sertifikat tepercaya. Jika aplikasi web memberi Anda kesalahan validasi sertifikat, Anda mungkin menggunakan sertifikat yang ditandatangani sendiri. Atur variabel bernama VSTS_ARM_REST_IGNORE_SSL_ERRORS
ke nilai true
dalam alur build atau rilis untuk mengatasi kesalahan.
Rilis macet untuk waktu yang lama dan kemudian gagal
Masalah ini bisa menjadi akibat dari kapasitas yang tidak mencukup dalam paket App Service Anda. Untuk mengatasi masalah ini, Anda dapat meningkatkan instans App Service untuk meningkatkan ruang CPU, RAM, dan disk yang tersedia atau mencoba dengan paket App Service yang berbeda.
5kode kesalahan xx
Jika Anda melihat kesalahan 5xx, memeriksa status layanan Azure Anda.
Azure Function tiba-tiba berhenti berfungsi
Azure Functions mungkin tiba-tiba berhenti bekerja jika lebih dari satu tahun telah berlalu sejak penyebaran terakhir. Jika Anda menyebarkan dengan "RunFromPackage" di "deploymentMethod", SAS dengan tanggal kedaluwarsa 1 tahun dihasilkan dan ditetapkan sebagai nilai "WEBSITE_RUN_FROM_PACKAGE" dalam konfigurasi aplikasi. Azure Functions menggunakan SAS ini untuk mereferensikan file paket untuk eksekusi fungsi, jadi jika SAS telah kedaluwarsa, fungsi tidak akan dijalankan. Untuk mengatasi masalah ini, sebarkan lagi untuk menghasilkan SAS dengan tanggal kedaluwarsa satu tahun.
Kesalahan: Tidak ada paket yang ditemukan dengan pola yang ditentukan
Periksa apakah paket yang disebutkan dalam tugas diterbitkan sebagai artefak dalam build atau tahap sebelumnya dan diunduh dalam pekerjaan saat ini.
Kesalahan: Menerbitkan menggunakan opsi penyebaran zip tidak didukung untuk jenis paket msBuild
Paket web yang dibuat melalui tugas MSBuild (dengan argumen default) memiliki struktur folder berlapis yang hanya dapat disebarkan dengan benar oleh Web Deploy. Opsi penyebaran publish-to-zip tidak dapat digunakan untuk menyebarkan paket tersebut. Untuk mengonversi struktur kemasan, lakukan langkah-langkah berikut:
Dalam tugas Solusi build, ubah Argumen MSBuild
menjadi : Tambahkan tugas Arsip dan ubah nilai sebagai berikut:
Ubah folder atau file Akar untuk mengarsipkan ke
$(System.DefaultWorkingDirectory)\\WebAppContent
.Kosongkan kotak centang nama folder akar Prepend ke jalur arsip:
Penyebaran aplikasi web di Windows berhasil tetapi aplikasi tidak berfungsi
Ini mungkin karena web.config tidak ada di aplikasi Anda. Anda dapat menambahkan file web.config ke sumber Anda atau membuatnya secara otomatis menggunakan Opsi Transformasi File dan Penggantian Variabel tugas.
Klik tugas dan buka Membuat parameter web.config untuk aplikasi Python, Node.js, Go, dan Java.
Klik tombol lainnya Hasilkan parameter web.config untuk aplikasi Python, Node.js, Go, dan Java untuk mengedit parameter.
Pilih jenis aplikasi Anda dari menu drop-down.
Klik OK. Ini akan mengisi parameter web.config yang diperlukan untuk menghasilkan web.config.
Nota
Bagian ini tidak digunakan lagi dan telah diganti dengan tugas Transformasi File
ERROR_FILE_IN_USE
Saat menyebarkan aplikasi .NET ke Aplikasi Web di Windows, penyebaran mungkin gagal dengan kode kesalahan ERROR_FILE_IN_USE. Untuk mengatasi kesalahan, pastikan Mengganti nama file terkunci dan opsi Ambil Aplikasi Offline diaktifkan dalam tugas. Untuk penyebaran waktu henti nol, gunakan pertukaran slot.
Anda juga dapat menggunakan metode Run From Package deployment untuk menghindari penguncian sumber daya.
Kesalahan Penyebaran Web
Jika Anda menggunakan penyebaran web untuk menyebarkan aplikasi Anda, dalam beberapa skenario kesalahan Web Deploy akan menampilkan kode kesalahan di log. Untuk memecahkan masalah kesalahan penyebaran web, lihat kode kesalahan Web Deploy.
Penyebaran aplikasi web di App Service Environment (ASE) tidak berfungsi
- Pastikan bahwa agen build Azure DevOps berada di VNET yang sama (subnet dapat berbeda) dengan Internal Load Balancer (ILB) ASE. Ini akan memungkinkan agen untuk menarik kode dari Azure DevOps dan menyebarkan ke ASE.
- Jika Anda menggunakan Azure DevOps, agen tidak perlu dapat diakses dari internet tetapi hanya memerlukan akses keluar untuk terhubung ke Azure DevOps Service.
- Jika Anda menggunakan TFS/Azure DevOps Server yang disebarkan di Virtual Network, agen dapat sepenuhnya terisolasi.
- Agen build harus dikonfigurasi dengan konfigurasi DNS Aplikasi Web yang perlu disebarkannya. Karena sumber daya privat di Virtual Network tidak memiliki entri di Azure DNS, ini perlu ditambahkan ke file host di komputer agen.
- Jika sertifikat yang ditandatangani sendiri digunakan untuk konfigurasi ASE, opsi
-allowUntrusted
perlu diatur dalam tugas penyebaran untuk MSDeploy. Disarankan juga untuk mengatur variabelVSTS_ARM_REST_IGNORE_SSL_ERRORS
ke true. Jika sertifikat dari otoritas sertifikat digunakan untuk konfigurasi ASE, ini seharusnya tidak diperlukan. Jika Anda menyebarkan ke slot yang dikonfigurasi untuk pertukaran otomatis, pertukaran akan gagal kecuali Anda mengaturSCM_SKIP_SSL_VALIDATION
atauSCM_SKIP_ASE_SSL_VALIDATION
ke1
di pengaturan konfigurasi layanan aplikasi.
Tanya Jawab Umum
Apa perbedaan antara tugas AzureWebApp
dan AzureRmWebAppDeployment
?
Tugas Azure Web App (AzureWebApp
) adalah cara paling sederhana untuk menyebarkan ke Azure Web App. Secara default, penyebaran Anda terjadi pada aplikasi root di Azure Web App.
Tugas Penyebaran Azure App Service (AzureRmWebAppDeployment
) dapat menangani lebih banyak skenario kustom, seperti:
- Ubah pengaturan konfigurasi di dalam paket web dan file parameter XML.
- Sebarkan dengan Web Deploy, jika Anda terbiasa dengan proses penyebaran IIS.
- Sebarkan ke aplikasi virtual.
- Sebarkan ke jenis aplikasi lain, seperti aplikasi Kontainer, aplikasi Fungsi, WebJobs, atau APLIKASI API dan Seluler.
Nota
Transformasi file dan substitusi variabel juga didukung oleh tugas Transformasi File terpisah untuk digunakan di Azure Pipelines. Anda dapat menggunakan tugas Transformasi File untuk menerapkan transformasi file dan substitusi variabel pada file konfigurasi dan parameter apa pun.
Bagaimana cara mengonfigurasi koneksi layanan saya?
Tugas ini memerlukan koneksi layanan Azure Resource Manager.
Bagaimana cara mengonfigurasi penyebaran pekerjaan web dengan Application Insights?
Saat Anda menyebarkan ke App Service, jika Anda memiliki Application Insights dikonfigurasi dan Anda telah mengaktifkan Remove additional files at destination
, Anda juga perlu mengaktifkan Exclude files from the App_Data folder
. Mengaktifkan opsi ini membuat ekstensi Application Insights dalam keadaan aman. Langkah ini diperlukan karena WebJob berkelanjutan Application Insights diinstal ke folder App_Data.
Bagaimana cara mengonfigurasi agen saya jika berada di belakang proksi saat saya menyebarkan ke App Service?
Jika agen yang dihost sendiri memerlukan proksi web, Anda dapat memberi tahu agen tentang proksi selama konfigurasi. Melakukannya memungkinkan agen Anda untuk terhubung ke Azure Pipelines atau Azure DevOps Server melalui proksi. Pelajari selengkapnya tentang menjalankan agen yang dihost sendiri di belakang proksi web.
Contoh
- Sebarkan ke jenis aplikasi tertentu
- Menyebarkan ke kontainer Linux Azure Web App
- Menyebarkan aplikasi web ke Windows App Service di seluruh slot penyebaran
- contoh skrip pasca penyebaran
Menyebarkan ke jenis aplikasi tertentu
Untuk menyebarkan ke jenis aplikasi tertentu, atur appType
ke salah satu nilai yang diterima berikut: webApp
(Aplikasi Web di Windows), webAppLinux
(Aplikasi Web di Linux), webAppContainer
(Aplikasi Web untuk Kontainer - Linux), functionApp
(Aplikasi Fungsi di Windows), functionAppLinux
(Aplikasi Fungsi di Linux), functionAppContainer
(Aplikasi Fungsi untuk Kontainer - Linux), apiApp
(Aplikasi API), mobileApp
(Aplikasi Seluler). Jika tidak disebutkan, webApp
diambil sebagai nilai default.
Untuk mengaktifkan opsi penyebaran tingkat lanjut, tambahkan parameter enableCustomDeployment: true
dan sertakan parameter berikut sesuai kebutuhan.
# deploymentMethod: 'runFromPackage' # supports zipDeploy as well
# appOffline: boolean # Not applicable for 'runFromPackage'
# setParametersFile: string
# removeAdditionalFilesFlag: boolean
# additionalArguments: string
Menyebarkan ke kontainer Linux Azure Web App
Contoh YAML berikut menyebarkan ke kontainer Azure Web App (Linux).
pool:
vmImage: ubuntu-latest
variables:
azureSubscriptionEndpoint: Contoso
DockerNamespace: contoso.azurecr.io
DockerRepository: aspnetcore
WebAppName: containersdemoapp
steps:
- task: AzureRMWebAppDeployment@4
displayName: Azure App Service Deploy
inputs:
appType: webAppContainer
ConnectedServiceName: $(azureSubscriptionEndpoint)
WebAppName: $(WebAppName)
DockerNamespace: $(DockerNamespace)
DockerRepository: $(DockerRepository)
DockerImageTag: $(Build.BuildId)
Menyebarkan aplikasi web ke Windows App Service di seluruh slot penyebaran
Contoh berikut menyebarkan aplikasi web ke Windows App Service di seluruh slot penyebaran.
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
stages:
- stage: DeployDevStage
displayName: 'Deploy App to Dev Slot'
jobs:
- job: DeployApp
displayName: 'Deploy App'
steps:
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: 'drop'
targetPath: '$(System.DefaultWorkingDirectory)'
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'Fabrikam Azure Subscription - PartsUnlimited'
appType: 'webApp'
WebAppName: 'partsunlimited'
deployToSlotOrASE: true
ResourceGroupName: 'rgPartsUnlimited'
SlotName: 'Dev'
packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip'
- stage: DeployStagingStage
displayName: 'Deploy App to Staging Slot'
dependsOn: DeployDevStage
jobs:
- job: DeployApp
displayName: 'Deploy App'
steps:
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: 'drop'
targetPath: '$(System.DefaultWorkingDirectory)'
- task: AzureRmWebAppDeployment@4
inputs:
appType: webApp
ConnectionType: AzureRM
ConnectedServiceName: 'Fabrikam Azure Subscription - PartsUnlimited'
ResourceGroupName: 'rgPartsUnlimited'
WebAppName: 'partsunlimited'
Package: '$(System.DefaultWorkingDirectory)/**/*.zip'
deployToSlotOrASE: true
SlotName: 'staging'
Contoh skrip Pasca penyebaran
Tugas ini menyediakan opsi untuk menyesuaikan penyebaran dengan menyediakan skrip yang akan berjalan di Azure App Service setelah artefak aplikasi berhasil disalin ke App Service. Anda dapat memilih untuk menyediakan skrip penyebaran sebaris atau jalur dan nama file skrip di folder artefak Anda.
Ini sangat berguna ketika Anda ingin memulihkan dependensi aplikasi Anda langsung di App Service. Memulihkan paket untuk aplikasi Node, PHP, dan python membantu menghindari batas waktu ketika dependensi aplikasi menghasilkan artefak besar yang disalin dari agen ke Azure App Service.
Contoh skrip penyebaran adalah:
@echo off
if NOT exist requirements.txt (
echo No Requirements.txt found.
EXIT /b 0
)
if NOT exist "$(PYTHON_EXT)/python.exe" (
echo Python extension not available >&2
EXIT /b 1
)
echo Installing dependencies
call "$(PYTHON_EXT)/python.exe" -m pip install -U setuptools
if %errorlevel% NEQ 0 (
echo Failed to install setuptools >&2
EXIT /b 1
)
call "$(PYTHON_EXT)/python.exe" -m pip install -r requirements.txt
if %errorlevel% NEQ 0 (
echo Failed to install dependencies>&2
EXIT /b 1
)
Persyaratan
Syarat | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik, Rilis klasik |
Berjalan pada | Agen, DeploymentGroup |
Permintaan |
Tidak |
Kemampuan |
Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan. |
pembatasan Perintah |
Apa pun |
variabel yang Dapat Diatur |
Apa pun |
Versi agen | 2.104.1 atau lebih tinggi |
Kategori tugas | Menyebarkan |
Lihat juga
- Tugas ini adalah sumber terbuka di GitHub. Umpan balik dan kontribusi dipersilakan.