AzureRmWebAppDeployment@4 - v4 작업 배포 Azure App Service
이 작업을 사용하여 Docker, Java, .NET, .NET Core, Node.js, PHP, Python 또는 Ruby를 사용하여 웹, 모바일 또는 API 앱을 Azure App Service.
참고
AzureFunctionApp@1 사용하여 Azure Functions 앱을 배포합니다.
Windows의 Azure 앱 서비스, 기본 제공 이미지 또는 Docker 컨테이너, ASP.NET, .NET Core, PHP, Python 또는 Node.js 기반 웹 애플리케이션, Docker 컨테이너를 사용하는 Windows 또는 Linux의 함수 앱, Mobile Apps, API 애플리케이션 및 웹 배포/Kudu REST API를 사용하는 웹 작업을 사용하여 Linux의 웹앱을 업데이트합니다.
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.
입력
ConnectionType
- 연결 유형
string
. 필수 요소. 허용되는 값: AzureRM
(Azure Resource Manager), PublishProfile
(프로필 게시). 기본값은 AzureRM
입니다.
웹앱을 배포하는 데 사용할 서비스 연결 유형을 지정합니다.
Visual Studio에서 만든 게시 프로필을 사용하기 위해 를 지정 Publish Profile
합니다.
ConnectionType
- 연결 유형
string
. 필수 요소. 허용되는 값: AzureRM
(Azure Resource Manager), PublishProfile
(프로필 게시). 기본값은 AzureRM
입니다.
웹앱을 배포하는 데 사용할 서비스 연결 유형을 지정합니다.
azureSubscription
- Azure 구독
입력 별칭: ConnectedServiceName
. string
. 필요한 경우 ConnectionType = AzureRM
입니다.
배포에 대한 Azure Resource Manager 구독을 지정합니다.
PublishProfilePath
- 프로필 경로 게시
string
. 필요한 경우 ConnectionType = PublishProfile
입니다. 기본값은 $(System.DefaultWorkingDirectory)/**/*.pubxml
입니다.
Visual Studio에서 만든 게시 프로필 의 경로입니다.
PublishProfilePassword
- 프로필 암호 게시
string
. 필요한 경우 ConnectionType = PublishProfile
입니다.
비밀 변수에 암호를 저장하고 여기에 해당 변수를 사용하는 것이 좋습니다(예: ). $(Password)
appType
- App Service 형식
입력 별칭: WebAppKind
. string
. 필요한 경우 ConnectionType = AzureRM
입니다. 허용되는 값: webApp
(Windows의 웹앱), webAppLinux
(Linux의 웹앱), webAppContainer
(Web App for Containers(Linux)), webAppHyperVContainer
(Web App for Containers(Windows)), functionApp
(Windows의 함수 앱(권장되지 않음, Azure Functions 작업 사용)), functionAppLinux
(Linux의 함수 앱(권장되지 않음, Azure Functions 작업 사용)), functionAppContainer
(컨테이너용 함수 앱(Linux) (권장되지 않음, 사용) Azure Functions 컨테이너 작업)), apiApp
(API 앱), mobileApp
(모바일 앱). 기본값은 webApp
입니다.
Windows의 웹앱, Linux의 웹앱, 컨테이너용 웹앱, 함수 앱, Linux의 함수 앱, 컨테이너용 함수 앱 및 모바일 앱 중에서 선택합니다.
appType
- App Service 형식
입력 별칭: WebAppKind
. string
. 필요한 경우 ConnectionType = AzureRM
입니다. 허용되는 값: webApp
(Windows의 웹앱), webAppLinux
(Linux의 웹앱), webAppContainer
(컨테이너용 웹앱(Linux)), functionApp
(Windows의 함수 앱), functionAppLinux
(Linux의 함수 앱), functionAppContainer
(컨테이너용 함수 앱(Linux)), apiApp
(API 앱), mobileApp
(모바일 앱). 기본값은 webApp
입니다.
Windows의 웹앱, Linux의 웹앱, 컨테이너용 웹앱, 함수 앱, Linux의 함수 앱, 컨테이너용 함수 앱 및 모바일 앱 중에서 선택합니다.
WebAppName
- App Service 이름
string
. 필요한 경우 ConnectionType = AzureRM
입니다.
기존 Azure App Service 이름을 지정합니다. 선택한 앱 유형을 기반으로 하는 App Services는 작업 도우미 사용할 때만 나열됩니다.
deployToSlotOrASE
- 슬롯 또는 App Service Environment 배포
입력 별칭: DeployToSlotOrASEFlag
. boolean
. 선택 사항입니다. 을 사용할 때 ConnectionType = AzureRM && WebAppKind != ""
사용합니다. 기본값은 false
입니다.
기존 배포 슬롯 또는 Azure App Service 환경에 배포하는 옵션을 지정합니다. 두 대상 모두 작업에 리소스 그룹 이름이 필요합니다.
배포 대상이 슬롯인 경우 기본적으로 배포는 프로덕션 슬롯에 대한 것입니다. 다른 모든 기존 슬롯 이름을 제공할 수 있습니다.
배포 대상이 Azure App Service 환경인 경우 슬롯 이름을 그대로 Production
두고 리소스 그룹 이름만 지정합니다.
ResourceGroupName
- 리소스 그룹
string
. 필요한 경우 DeployToSlotOrASEFlag = true
입니다.
배포 대상이 배포 슬롯 또는 App Service Environment 경우 리소스 그룹 이름이 필요합니다.
위에서 지정한 Azure App Service 포함하는 Azure 리소스 그룹을 지정합니다.
SlotName
- 슬롯
string
. 필요한 경우 DeployToSlotOrASEFlag = true
입니다. 기본값은 production
입니다.
프로덕션 슬롯 이외의 기존 슬롯을 지정합니다.
DockerNamespace
- 레지스트리 또는 네임스페이스
string
. 필요한 경우 WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
입니다.
특정 레지스트리 또는 네임스페이스에 대한 전역적으로 고유한 최상위 도메인 이름입니다. 참고: 정규화된 이미지 이름은 형식 {registry or namespace}/{repository}:{tag}
입니다. myregistry.azurecr.io/nginx:latest
)을 입력합니다.
DockerNamespace
- 레지스트리 또는 네임스페이스
string
. 필요한 경우 WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
입니다.
특정 레지스트리 또는 네임스페이스에 대한 전역적으로 고유한 최상위 도메인 이름입니다. 참고: 정규화된 이미지 이름은 형식 {registry or namespace}/{repository}:{tag}
입니다. myregistry.azurecr.io/nginx:latest
)을 입력합니다.
DockerNamespace
- 레지스트리 또는 네임스페이스
string
. 필요한 경우 WebAppKind = webAppContainer || WebAppkind = functionAppContainer
입니다.
특정 레지스트리 또는 네임스페이스에 대한 전역적으로 고유한 최상위 도메인 이름입니다. 참고: 정규화된 이미지 이름은 형식 {registry or namespace}/{repository}:{tag}
입니다. myregistry.azurecr.io/nginx:latest
)을 입력합니다.
DockerRepository
- 이미지
string
. 필요한 경우 WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
입니다.
컨테이너 이미지가 저장되는 리포지토리의 이름입니다. 참고: 정규화된 이미지 이름은 형식 {registry or namespace}/{repository}:{tag}
입니다. myregistry.azurecr.io/nginx:latest
)을 입력합니다.
DockerRepository
- 이미지
string
. 필요한 경우 WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
입니다.
컨테이너 이미지가 저장되는 리포지토리의 이름입니다. 참고: 정규화된 이미지 이름은 형식 {registry or namespace}/{repository}:{tag}
입니다. myregistry.azurecr.io/nginx:latest
)을 입력합니다.
DockerRepository
- 이미지
string
. 필요한 경우 WebAppKind = webAppContainer || WebAppkind = functionAppContainer
입니다.
컨테이너 이미지가 저장되는 리포지토리의 이름입니다. 참고: 정규화된 이미지 이름은 형식 {registry or namespace}/{repository}:{tag}
입니다. myregistry.azurecr.io/nginx:latest
)을 입력합니다.
DockerImageTag
- 태그
string
. 선택 사항입니다. 을 사용할 때 WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer
사용합니다.
태그는 레지스트리가 Docker 이미지에 버전 정보를 적용하는 데 사용하는 메커니즘입니다. 참고: 정규화된 이미지 이름은 형식 {registry or namespace}/{repository}:{tag}
입니다. myregistry.azurecr.io/nginx:latest
)을 입력합니다.
DockerImageTag
- 태그
string
. 선택 사항입니다. 을 사용할 때 WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppkind = webAppHyperVContainer
사용합니다.
태그는 레지스트리가 Docker 이미지에 버전 정보를 적용하는 데 사용하는 메커니즘입니다. 참고: 정규화된 이미지 이름은 형식 {registry or namespace}/{repository}:{tag}
입니다. myregistry.azurecr.io/nginx:latest
)을 입력합니다.
DockerImageTag
- 태그
string
. 선택 사항입니다. 을 사용할 때 WebAppKind = webAppContainer || WebAppkind = functionAppContainer
사용합니다.
태그는 레지스트리가 Docker 이미지에 버전 정보를 적용하는 데 사용하는 메커니즘입니다. 참고: 정규화된 이미지 이름은 형식 {registry or namespace}/{repository}:{tag}
입니다. myregistry.azurecr.io/nginx:latest
)을 입력합니다.
VirtualApplication
- 가상 애플리케이션
string
. 선택 사항입니다. 을 사용할 때 WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != ""
사용합니다.
Azure Portal 구성된 가상 애플리케이션의 이름을 지정합니다. 이 옵션은 웹 사이트 루트에 배포하는 데 필요하지 않습니다. 웹 프로젝트를 배포하기 전에 가상 애플리케이션을 구성해야 합니다.
VirtualApplication
- 가상 애플리케이션
string
. 선택 사항입니다. 을 사용할 때 WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != ""
사용합니다.
Azure Portal 구성된 가상 애플리케이션의 이름을 지정합니다. 이 옵션은 웹 사이트 루트에 배포하는 데 필요하지 않습니다. 웹 프로젝트를 배포하기 전에 가상 애플리케이션을 구성해야 합니다.
packageForLinux
- 패키지 또는 폴더
입력 별칭: Package
. string
. 필요한 경우 ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux
입니다. 기본값은 $(System.DefaultWorkingDirectory)/**/*.zip
입니다.
패키지 또는 MSBuild 또는 압축된 zip 또는 war 파일에서 생성된 App Service 콘텐츠가 포함된 폴더의 파일 경로입니다.
변수는 빌드 및 릴리스입니다. 와일드카드가 지원됩니다.
예를 들어 $(System.DefaultWorkingDirectory)/\*\*/\*.zip
또는 $(System.DefaultWorkingDirectory)/\*\*/\*.war
입니다.
RuntimeStack
- 런타임 스택
string
. 선택 사항입니다. 을 사용할 때 WebAppKind = webAppLinux
사용합니다.
Linux의 함수 앱에 대한 프레임워크 및 버전을 지정합니다.
RuntimeStackFunction
- 런타임 스택
string
. 선택 사항입니다. 을 사용할 때 WebAppKind = functionAppLinux
사용합니다. 허용되는 값: DOTNET|2.2
(DOTNET|2.2(functionapp v2)), DOTNET|3.1
(DOTNET|3.1(functionapp v3)), JAVA|8
(JAVA|8(functionapp v2/v3)), JAVA|11
(JAVA|11(functionapp v3)), NODE|8
(NODE|8(functionapp v2)), NODE|10
(NODE|10(functionapp v2)) 2/v3)), NODE|12
(NODE|12(functionapp v3)), NODE|14
(NODE|14(functionapp v3)), PYTHON|3.6
(PYTHON|3.6(functionapp v2/v3)), PYTHON|3.7
(PYTHON|3.7(functionapp v2/v3)), PYTHON|3.8
(PYTHON|3.8(functionapp v3)).
프레임워크 및 버전을 지정합니다. 지원되는 런타임 버전에 대한 Azure Functions 런타임 버전 개요를 참조하세요. 와 같은 DOCKER|microsoft/azure-functions-*
이전 값은 더 이상 사용되지 않습니다. 드롭다운의 새 값을 사용하세요.
RuntimeStackFunction
- 런타임 스택
string
. 선택 사항입니다. 을 사용할 때 WebAppKind = functionAppLinux
사용합니다. 허용되는 값: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0
(.NET), DOCKER|microsoft/azure-functions-node8:2.0
(JavaScript).
프레임워크 및 버전을 지정합니다.
StartupCommand
- 시작 명령
string
. 선택 사항입니다. 을 사용할 때 WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer
사용합니다.
시작 명령을 지정합니다. 예를 들면 다음과 같습니다.
dotnet exec filename.dll
dotnet filename.dll
.
StartupCommand
- 시작 명령
string
. 선택 사항입니다. 을 사용할 때 WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppkind = webAppHyperVContainer
사용합니다.
시작 명령을 지정합니다. 예를 들면 다음과 같습니다.
dotnet exec filename.dll
dotnet filename.dll
.
StartupCommand
- 시작 명령
string
. 선택 사항입니다. 을 사용할 때 WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux
사용합니다.
시작 명령을 지정합니다. 예를 들면 다음과 같습니다.
dotnet exec filename.dll
dotnet filename.dll
.
StartupCommand
- 시작 명령
string
. 선택 사항입니다. 을 사용할 때 WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux
사용합니다.
시작 명령을 지정합니다. 예를 들어 입니다 dotnet run
dotnet filename.dll
.
StartupCommand
- 시작 명령
string
. 선택 사항입니다. 을 사용할 때 WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer
사용합니다.
시작 명령을 지정합니다.
ScriptType
- 배포 스크립트 유형
string
. 선택 사항입니다. 을 사용할 때 ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
사용합니다. 허용되는 값: Inline Script
, File Path
(스크립트 파일 경로).
배포에 성공한 후 Azure App Service 실행되는 스크립트를 제공하여 배포를 사용자 지정합니다. 인라인 배포 스크립트 또는 스크립트 파일의 경로 및 이름을 선택합니다. Azure App Service 배포에 대해 자세히 알아보세요.
ScriptType
- 배포 스크립트 유형
string
. 선택 사항입니다. 을 사용할 때 ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
사용합니다. 허용되는 값: Inline Script
, File Path
(스크립트 파일 경로).
배포에 성공한 후 Azure App Service 실행되는 스크립트를 제공하여 배포를 사용자 지정합니다. 인라인 배포 스크립트 또는 스크립트 파일의 경로 및 이름을 선택합니다. Azure App Service 배포에 대해 자세히 알아보세요.
InlineScript
- 인라인 스크립트
string
. 필요한 경우 ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
입니다. 기본값은 :: You can provide your deployment commands here. One command per line.
입니다.
실행할 스크립트입니다. 여기에서 배포 명령을 줄당 하나의 명령으로 제공할 수 있습니다. 다음 예제를 참조하세요.
InlineScript
- 인라인 스크립트
string
. 필요한 경우 ScriptType == Inline Script && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
입니다. 기본값은 :: You can provide your deployment commands here. One command per line.
입니다.
실행할 스크립트입니다. 여기에서 배포 명령을 줄당 하나의 명령으로 제공할 수 있습니다. 다음 예제를 참조하세요.
ScriptPath
- 배포 스크립트 경로
string
. 필요한 경우 ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer
입니다.
실행할 스크립트의 경로 및 이름입니다.
ScriptPath
- 배포 스크립트 경로
string
. 필요한 경우 ScriptType == File Path && ConnectionType = AzureRM && WebAppKind != "" && WebAppKind != webAppContainer && WebAppkind != functionAppContainer
입니다.
실행할 스크립트의 경로 및 이름입니다.
WebConfigParameters
- Python, Node.js, Go 및 Java 앱에 대한 web.config 매개 변수 생성
string
. 선택 사항입니다. 을 사용할 때 WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
사용합니다.
애플리케이션에 표준 Web.config
이 생성되고 애플리케이션에 없는 경우 Azure App Service 배포됩니다. 의 web.config
값을 편집할 수 있으며 애플리케이션 프레임워크에 따라 달라질 수 있습니다. 예를 들어 애플리케이션의 경우 node.js
시작 web.config
파일과 iis_node 모듈 값이 있습니다. 이 편집 기능은 생성된 에만 적용됩니다 web.config
. Azure App Service 배포에 대해 자세히 알아보세요.
WebConfigParameters
- Python, Node.js, Go 및 Java 앱에 대한 web.config 매개 변수 생성
string
. 선택 사항입니다. 을 사용할 때 WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
사용합니다.
애플리케이션에 표준 Web.config
이 생성되고 애플리케이션에 없는 경우 Azure App Service 배포됩니다. 의 web.config
값을 편집할 수 있으며 애플리케이션 프레임워크에 따라 달라질 수 있습니다. 예를 들어 애플리케이션의 경우 node.js
시작 web.config
파일과 iis_node 모듈 값이 있습니다. 이 편집 기능은 생성된 에만 적용됩니다 web.config
. Azure App Service 배포에 대해 자세히 알아보세요.
AppSettings
- 앱 설정
string
. 선택 사항입니다. 을 사용할 때 ConnectionType = AzureRM
사용합니다.
구문을 -key value
사용하여 웹앱 애플리케이션 설정을 편집합니다. 공백을 포함하는 값은 큰따옴표로 묶어야 합니다. 예를 들어 -Port 5000 -RequestTimeout 5000
및 -WEBSITE_TIME_ZONE "Eastern Standard Time"
가 있습니다. 두 개 이상의 키 값을 제공하려면 키 값을 공백으로 구분해야 합니다. 예: -key1 "Value1" -Key2 "Value2"
.
ConfigurationSettings
- 구성 설정
string
. 선택 사항입니다. 을 사용할 때 ConnectionType = AzureRM
사용합니다.
구문을 사용하여 웹앱 구성 설정을 편집합니다 -key value
. 공백을 포함하는 값은 큰따옴표로 묶어야 합니다. 예: -phpVersion 5.6 -linuxFxVersion node|6.11
.
enableCustomDeployment
- 배포 방법 선택
입력 별칭: UseWebDeploy
. boolean
. 선택 사항입니다. 을 사용할 때 ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
사용합니다. 기본값은 false
입니다.
선택하지 않거나 false인 경우 작업은 앱 유형, 패키지 형식 및 기타 매개 변수에 따라 최상의 배포 방법을 자동으로 검색합니다. 작업 도우미 이 옵션을 선택하여 지원되는 배포 방법을 확인하고 앱을 배포할 방법을 선택합니다.
enableCustomDeployment
- 배포 방법 선택
입력 별칭: UseWebDeploy
. boolean
. 선택 사항입니다. 을 사용할 때 ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
사용합니다. 기본값은 false
입니다.
선택하지 않거나 false인 경우 작업은 앱 유형, 패키지 형식 및 기타 매개 변수에 따라 최상의 배포 방법을 자동으로 검색합니다. 작업 도우미 이 옵션을 선택하여 지원되는 배포 방법을 확인하고 앱을 배포할 방법을 선택합니다.
DeploymentType
- 배포 방법
string
. 필요한 경우 UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
입니다. 허용되는 값: webDeploy
(웹 배포), zipDeploy
(Zip 배포), runFromZip
(패키지에서 실행). 기본값은 webDeploy
입니다.
앱의 배포 방법을 결정합니다.
DeploymentType
- 배포 방법
string
. 필요한 경우 UseWebDeploy == true && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
입니다. 허용되는 값: webDeploy
(웹 배포), zipDeploy
(Zip 배포), runFromZip
(패키지에서 실행). 기본값은 webDeploy
입니다.
앱의 배포 방법을 결정합니다.
TakeAppOfflineFlag
- 앱을 오프라인으로 전환
boolean
. 선택 사항입니다. 을 사용할 때 UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
사용합니다. 기본값은 true
입니다.
동기화 작업이 시작되기 전에 루트 디렉터리에 파일을 배치 app_offline.htm
하여 Azure App Service 오프라인으로 전환하려면 이 옵션을 지정합니다. 동기화가 성공적으로 완료되면 파일이 제거됩니다.
TakeAppOfflineFlag
- 앱을 오프라인으로 전환
boolean
. 선택 사항입니다. 을 사용할 때 UseWebDeploy == true && DeploymentType != runFromZip && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
사용합니다. 기본값은 true
입니다.
동기화 작업이 시작되기 전에 루트 디렉터리에 파일을 배치 app_offline.htm
하여 Azure App Service 오프라인으로 전환하려면 이 옵션을 지정합니다. 동기화가 성공적으로 완료되면 파일이 제거됩니다.
SetParametersFile
- SetParameters 파일
string
. 선택 사항입니다. 을 사용할 때 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
사용합니다.
사용할 파일의 SetParameters.xml
위치입니다.
SetParametersFile
- SetParameters 파일
string
. 선택 사항입니다. 을 사용할 때 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
사용합니다.
사용할 파일의 SetParameters.xml
위치입니다.
RemoveAdditionalFilesFlag
- 대상에서 추가 파일 제거
boolean
. 선택 사항입니다. 을 사용할 때 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
사용합니다. 기본값은 false
입니다.
'true'를 지정하여 App Service 패키지 또는 폴더에 일치하는 파일이 없는 Azure App Service 파일을 삭제합니다. 또한 이 Azure App Service 설치된 확장과 관련된 모든 파일도 제거됩니다. 이를 방지하려면 확인란을 Exclude files from App_Data folder
선택합니다.
RemoveAdditionalFilesFlag
- 대상에서 추가 파일 제거
boolean
. 선택 사항입니다. 을 사용할 때 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
사용합니다. 기본값은 false
입니다.
'true'를 지정하여 App Service 패키지 또는 폴더에 일치하는 파일이 없는 Azure App Service 파일을 삭제합니다. 또한 이 Azure App Service 설치된 확장과 관련된 모든 파일도 제거됩니다. 이를 방지하려면 확인란을 Exclude files from App_Data folder
선택합니다.
ExcludeFilesFromAppDataFlag
- App_Data 폴더에서 파일 제외
boolean
. 선택 사항입니다. 를 사용하는 경우 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
를 사용합니다. 기본값은 true
입니다.
폴더의 파일이 App_Data
Azure App Service 배포/삭제되지 않도록 하는 옵션을 지정합니다.
ExcludeFilesFromAppDataFlag
- App_Data 폴더에서 파일 제외
boolean
. 선택 사항입니다. 를 사용하는 경우 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
를 사용합니다. 기본값은 true
입니다.
폴더의 파일이 App_Data
Azure App Service 배포/삭제되지 않도록 하는 옵션을 지정합니다.
AdditionalArguments
- 추가 인수
string
. 선택 사항입니다. 를 사용하는 경우 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
를 사용합니다. 기본값은 -retryAttempts:6 -retryInterval:10000
입니다.
구문 -key:value
다음에 추가 웹 배포 인수입니다. Azure App Service 배포할 때 적용됩니다. 예: -disableLink:AppPoolExtension -disableLink:ContentExtension
. 웹 배포 작업 설정에 대해 자세히 알아봅니다.
AdditionalArguments
- 추가 인수
string
. 선택 사항입니다. 를 사용하는 경우 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
를 사용합니다. 기본값은 -retryAttempts:6 -retryInterval:10000
입니다.
구문 -key:value
다음에 추가 웹 배포 인수입니다. Azure App Service 배포할 때 적용됩니다. 예: -disableLink:AppPoolExtension -disableLink:ContentExtension
. 웹 배포 작업 설정에 대해 자세히 알아봅니다.
RenameFilesFlag
- 잠긴 파일 이름 바꾸기
boolean
. 선택 사항입니다. 를 사용하는 경우 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
를 사용합니다. 기본값은 true
입니다.
Azure App Service 애플리케이션 설정에서 msdeploy 플래그 MSDEPLOY_RENAME_LOCKED_FILES=1
를 사용하도록 설정하려면 기본값을 지정합니다. 이 옵션을 설정하면 msdeploy가 앱 배포 중에 잠긴 파일의 이름을 바꿀 수 있습니다.
RenameFilesFlag
- 잠긴 파일 이름 바꾸기
boolean
. 선택 사항입니다. 를 사용하는 경우 UseWebDeploy == true && DeploymentType == webDeploy && ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != "" && Package NotEndsWith .war && Package NotEndsWith .jar
를 사용합니다. 기본값은 true
입니다.
Azure App Service 애플리케이션 설정에서 msdeploy 플래그 MSDEPLOY_RENAME_LOCKED_FILES=1
를 사용하도록 설정하려면 기본값을 지정합니다. 이 옵션을 설정하면 msdeploy가 앱 배포 중에 잠긴 파일의 이름을 바꿀 수 있습니다.
enableXmlTransform
- XML 변환
입력 별칭: XmlTransformation
. boolean
. 선택 사항입니다. 를 사용하는 경우 WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
를 사용합니다. 기본값은 false
입니다.
구성 변환은 및 *.<EnvironmentName>.config
에 대해 *.Release.config
*.config file
실행됩니다. 구성 변환은 변수 대체 전에 실행됩니다. XML 변환은 Windows 플랫폼에 대해서만 지원됩니다.
enableXmlTransform
- XML 변환
입력 별칭: XmlTransformation
. boolean
. 선택 사항입니다. 를 사용하는 경우 WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
를 사용합니다. 기본값은 false
입니다.
구성 변환은 및 *.<EnvironmentName>.config
에 대해 *.Release.config
*.config file
실행됩니다. 구성 변환은 변수 대체 전에 실행됩니다. XML 변환은 Windows 플랫폼에 대해서만 지원됩니다.
enableXmlVariableSubstitution
- XML 변수 대체
입력 별칭: XmlVariableSubstitution
. boolean
. 선택 사항입니다. 를 사용하는 경우 WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
를 사용합니다. 기본값은 false
입니다.
빌드 또는 릴리스 파이프라인에 정의된 변수는 구성 파일 및 파일의 , , applicationSettings
appSettings
및 섹션의 키 또는 이름 항목configSections
과 connectionStrings
parameters.xml
일치합니다. 구성 변환 후 변수 대체가 실행됩니다.
릴리스 파이프라인 및 스테이지에서 동일한 변수가 정의된 경우 스테이지 변수는 릴리스 파이프라인 변수를 대체합니다. [XML 변수 대체](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution)에 대해 자세히 알아봅니다.
enableXmlVariableSubstitution
- XML 변수 대체
입력 별칭: XmlVariableSubstitution
. boolean
. 선택 사항입니다. 를 사용하는 경우 WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
를 사용합니다. 기본값은 false
입니다.
빌드 또는 릴리스 파이프라인에 정의된 변수는 구성 파일 및 파일의 , , applicationSettings
appSettings
및 섹션의 키 또는 이름 항목configSections
과 connectionStrings
parameters.xml
일치합니다. 구성 변환 후 변수 대체가 실행됩니다.
릴리스 파이프라인 및 스테이지에서 동일한 변수가 정의된 경우 스테이지 변수는 릴리스 파이프라인 변수를 대체합니다. [XML 변수 대체](/azure/devops/pipelines/tasks/transforms-variable-substitution#xml-variable-substitution)에 대해 자세히 알아봅니다.
JSONFiles
- JSON 변수 대체
string
. 선택 사항입니다. 를 사용하는 경우 WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
를 사용합니다.
변수 값을 대체할 줄 바꿈으로 구분된 JSON 파일 목록을 제공합니다. 파일 이름은 루트 폴더를 기준으로 해야 합니다. 중첩 또는 계층 구조인 JSON 변수를 대체하려면 식을 사용하여 JSONPath
지정합니다. 예를 들어 아래 샘플의 값을 ConnectionString
바꾸려면 빌드 또는 릴리스 파이프라인(또는 릴리스 파이프라인 단계)에서 라는 Data.DefaultConnection.ConnectionString
변수를 정의합니다.
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
변수 대체는 구성 변환 후에 실행됩니다. 참고: 빌드 및 릴리스 파이프라인 변수는 대체에서 제외됩니다. JSON 변수 대체에 대해 자세히 알아봅니다.
JSONFiles
- JSON 변수 대체
string
. 선택 사항입니다. 를 사용하는 경우 WebAppKind != webAppContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war
를 사용합니다.
변수 값을 대체할 줄 바꿈으로 구분된 JSON 파일 목록을 제공합니다. 파일 이름은 루트 폴더를 기준으로 해야 합니다. 중첩 또는 계층 구조인 JSON 변수를 대체하려면 식을 사용하여 JSONPath
지정합니다. 예를 들어 아래 샘플의 값을 ConnectionString
바꾸려면 빌드 또는 릴리스 파이프라인(또는 릴리스 파이프라인 단계)에서 라는 Data.DefaultConnection.ConnectionString
변수를 정의합니다.
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
변수 대체는 구성 변환 후에 실행됩니다. 참고: 빌드 및 릴리스 파이프라인 변수는 대체에서 제외됩니다. JSON 변수 대체에 대해 자세히 알아봅니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.
출력 변수
이 작업은 다운스트림 단계, 작업 및 단계에서 사용할 수 있는 다음 출력 변수를 정의합니다.
AppServiceApplicationUrl
선택한 App Service 애플리케이션 URL입니다.
설명
이 작업을 사용하여 Azure의 다양한 App Services에 배포합니다. 이 작업은 Windows, Linux 또는 Mac을 실행하는 플랫폼 간 에이전트에서 작동하며 여러 가지 기본 배포 기술을 사용합니다.
이 작업은 ASP.NET, ASP.NET Core, PHP, Java, Python, Go 및 Node.js 기반 웹 애플리케이션에서 작동합니다.
작업을 사용하여 다음과 같은 다양한 Azure 앱 Services에 배포할 수 있습니다.
- Windows 및 Linux 모두에서 Web Apps
- 컨테이너용 Web Apps
- Windows 및 Linux의 Function Apps
- 컨테이너용 Function Apps
- WebJobs
- Azure App Service 환경에서 구성된 앱
작업에 대한 필수 구성 요소
작업이 올바르게 작동하려면 대상 머신에서 다음 필수 구성 요소를 설정해야 합니다.
App Service instance. 이 작업은 작업을 실행하기 전에 존재해야 하는 기존 Azure App Service instance 웹앱 프로젝트 또는 Azure Function 프로젝트를 배포하는 데 사용됩니다. App Service instance Azure Portal 만들어서 구성할 수 있습니다. 또는 Azure PowerShell 작업을 사용하여 AzureRM PowerShell 스크립트를 실행하여 웹앱을 프로비전하고 구성할 수 있습니다.
Azure 구독. Azure에 배포하려면 Azure 구독을 파이프라인에 연결해야 합니다. 작업은 Azure 클래식 서비스 연결에서 작동하지 않으며 이러한 연결은 작업 설정에 나열되지 않습니다.
사용 메모
- 이 작업은 Azure Resource Manager API에서만 작동합니다.
- SSL 오류를 무시하려면 파이프라인에 값
true
이 있는 라는VSTS_ARM_REST_IGNORE_SSL_ERRORS
변수를 정의합니다. 자동 교환하도록 구성된 슬롯에 배포하는 경우 App Services 구성 설정에서 또는SCM_SKIP_ASE_SSL_VALIDATION
을1
설정SCM_SKIP_SSL_VALIDATION
하지 않으면 교환이 실패합니다. - Windows에서 웹앱을 대상으로 하는 .NET 앱의 경우 잠긴 파일 이름 바꾸기 및 앱 오프라인 설정 가져오기를 사용하도록 설정하여 오류
ERROR_FILE_IN_USE
와 함께 배포 실패를 방지합니다. 가동 중지 시간 배포가 0이면 슬롯 교환 옵션을 사용합니다. - Application Insights가 구성된 App Service 배포하고 대상에서 추가 파일 제거를 사용하도록 설정한 경우 Application Insights 확장을 안전한 상태로 유지하기 위해 App_Data 폴더에서 파일 제외도 사용하도록 설정해야 합니다. Application Insights 연속 웹 작업이 App_Data 폴더에 설치되기 때문에 이 작업이 필요합니다.
배포 방법
이 작업에서는 몇 가지 배포 방법을 사용할 수 있습니다. 웹 배포(msdeploy.exe)가 기본값입니다. 배포 옵션을 변경하려면 추가 배포 옵션을 확장하고 배포 방법 선택을 사용하도록 설정하여 추가 패키지 기반 배포 옵션 중에서 선택합니다.
Azure App Service 및 에이전트 유형에 따라 작업은 적절한 배포 기술을 선택합니다. 태스크에서 사용하는 다양한 배포 기술은 다음과 같습니다.
기본적으로 태스크는 입력 패키지 유형, App Service 유형 및 에이전트 운영 체제에 따라 적절한 배포 기술을 선택하려고 합니다.
자동 검색 논리
Windows 기반 에이전트의 경우.
App Service 형식 | 패키지 유형 | 배포 방법 |
---|---|---|
Linux의 WebApp 또는 Linux의 함수 앱 | 폴더/Zip/jar War |
Zip 배포 전쟁 배포 |
WebApp for Containers(Linux) 또는 컨테이너용 함수 앱(Linux) | 앱 설정 업데이트 | 해당 없음 |
Windows의 WebApp, Windows의 함수 앱, API 앱 또는 모바일 앱 | War Jar MsBuild 패키지 유형 또는 가상 애플리케이션 폴더/Zip에 배포 |
War Deploy Zip Deploy Web Deploy if postDeploymentScript == true, Zip Deploy else, Run From Package |
Windows가 아닌 에이전트(모든 App Service 유형의 경우)에서 작업은 Kudu REST API를 사용하여 앱을 배포합니다.
웹 배포
웹 배포(msdeploy.exe)를 사용하여 Windows에서 웹앱을 배포하거나 Windows 에이전트를 사용하여 Azure App Service 함수 앱을 배포할 수 있습니다. 웹 배포는 기능이 풍부하며 다음과 같은 옵션을 제공합니다.
잠긴 파일 이름 바꾸기: Azure App Service 설정에서 msdeploy 플래그
MSDEPLOY\_RENAME\_LOCKED\_FILES=1
를 사용하도록 설정하여 웹 서버에서 여전히 사용 중인 파일의 이름을 바꿉니다. 이 옵션을 설정하면 msdeploy가 앱 배포 중에 잠긴 파일의 이름을 바꿀 수 있습니다.대상에서 추가 파일을 제거합니다. 배포 중인 App Service 아티팩트 패키지 또는 폴더에 일치하는 파일이 없는 Azure App Service 파일을 삭제합니다.
App_Data 폴더에서 파일을 제외합니다. App_Data 폴더(배포 중인 아티팩트 패키지/폴더)의 파일이 Azure App Service
추가 웹 배포 인수: Azure App Service 배포할 때 적용되는 인수입니다. 예:
-disableLink:AppPoolExtension -disableLink:ContentExtension
. 웹 배포 작업 설정의 더 많은 예제는 웹 배포 작업 설정을 참조하세요.
웹 배포 3.6에서 에이전트에 웹 배포를 설치합니다. 번들 SQL 지원 없이 웹 배포 3.5를 설치해야 합니다. 웹 배포를 설치할 때 사용자 지정 설정을 선택할 필요가 없습니다. 웹 배포는 에 C:/Program Files (x86)/IIS/Microsoft Web Deploy V3
설치됩니다.
Kudu REST API
Kudu REST API는 대상이 Windows의 웹앱, Linux의 웹앱(기본 제공 원본) 또는 함수 앱인 경우 Windows 및 Linux 자동화 에이전트 모두에서 작동합니다. 작업은 Kudu를 사용하여 Azure 앱 서비스에 파일을 복사합니다.
Container Registry
대상이 컨테이너용 웹앱인 경우 Windows 및 Linux 자동화 에이전트 모두에서 작동합니다. 작업은 적절한 컨테이너 레지스트리, 리포지토리, 이미지 이름 및 태그 정보를 설정하여 앱을 업데이트합니다. 작업을 사용하여 컨테이너 이미지에 대한 시작 명령을 전달할 수도 있습니다.
Zip 배포
.zip 배포 패키지가 예상되며 파일 콘텐츠를 Azure의 App Service 또는 함수 앱의 wwwroot 폴더에 배포합니다. 이 옵션은 wwwroot 폴더의 모든 기존 콘텐츠를 덮어씁니다. 자세한 내용은 Azure Functions 대한 Zip 배포를 참조하세요.
패키지에서 실행
Zip 배포와 동일한 배포 패키지가 예상됩니다. 그러나 wwwroot 폴더에 파일을 배포하는 대신 전체 패키지는 Functions 런타임에 의해 탑재되고 wwwroot 폴더의 파일은 읽기 전용이 됩니다. 자세한 내용은 패키지 파일에서 Azure Functions 실행을 참조하세요.
전쟁 배치
.war 배포 패키지가 예상되며 파일 콘텐츠를 Azure에 있는 App Service wwwroot 폴더 또는 webapps 폴더에 배포합니다.
문제 해결
Windows 에이전트에서 Microsoft Entra ID 인증을 사용하여 Azure App Service 웹 배포할 수 없습니다.
Azure App Service 배포 작업은 다음 세 가지 조건이 없는 한 Microsoft Entra ID 사용하여 ARM 서비스 연결로 Microsoft Azure에 연결할 수 있도록 지원합니다.
- Windows 에이전트에서 웹 배포 패키지 형식을 사용하고 있습니다.
- 에이전트가 이전 버전의 msdeploy.exe 실행 중입니다(예: windows-2019 호스팅 에이전트 이미지를 사용하는 경우).
- Azure App Service 기본 인증을 사용할 수 없습니다.
이러한 세 가지 조건이 있는 경우 다음과 같은 오류가 발생합니다. 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.
이 문제를 resolve 위해 기본 설정 순서대로 다음 옵션 중에서 선택할 수 있습니다.
- 에이전트 이미지를 업데이트합니다. 호스트된 에이전트를 사용하는 경우 windows-2019 에서 windows-2022 (또는 windows-latest)로 이동합니다. 자체 호스팅 에이전트를 사용하는 경우 에이전트에 Visual Studio 2022를 설치하여 최신 버전의 msdeploy.exe.
- 이전 에이전트 이미지에 종속되어 있고 파이프라인에 대한 에이전트를 업데이트할 수 없는 경우 Azure App Service 배포 작업이 windows-2022(또는 windows-latest)에서 실행되도록 작업을 분할하는 것이 좋습니다.
- 이러한 옵션 중 어느 것도 가능하지 않은 경우 Azure App Service 대한 기본 인증을 사용하도록 설정할 수 있습니다.
오류: Azure에 대한 액세스 토큰을 가져올 수 없습니다. 사용된 서비스 주체가 유효하고 만료되지 않았는지 확인합니다.
작업은 서비스 연결에서 서비스 주체를 사용하여 Azure로 인증합니다. 서비스 주체가 만료되었거나 App Service 대한 권한이 없는 경우 이 오류와 함께 작업이 실패합니다. 사용된 서비스 주체의 유효성을 검사하고 앱 등록에 표시되는지 확인합니다. 자세한 내용은 역할 기반 액세스 제어를 사용하여 Azure 구독 리소스에 대한 액세스 관리를 참조하세요. 이 블로그 게시물에 는 서비스 주체 인증 사용에 대한 자세한 정보도 포함되어 있습니다.
SSL 오류
App Service 인증서를 사용하려면 신뢰할 수 있는 인증 기관에서 인증서에 서명해야 합니다. 웹앱에서 인증서 유효성 검사 오류가 발생한 경우 자체 서명된 인증서를 사용하고 있을 수도 있습니다. 라는 VSTS_ARM_REST_IGNORE_SSL_ERRORS
변수를 빌드 또는 릴리스 파이프라인의 값 true
으로 설정하여 오류를 resolve.
릴리스가 오랜 시간 동안 중단된 후 실패합니다.
이 문제는 App Service 계획에서 용량이 부족하여 발생할 수 있습니다. 이 문제를 resolve 위해 App Service instance 확장하여 사용 가능한 CPU, RAM 및 디스크 공간을 늘리거나 다른 App Service 계획을 사용해 볼 수 있습니다.
5xx 오류 코드
5xx 오류가 표시되는 경우 Azure 서비스의 상태 검사.
Azure Function이 갑자기 작동 중지됨
Azure Functions 마지막 배포 이후 1년이 넘은 경우 갑자기 작동이 중지될 수 있습니다. "deploymentMethod"에서 "RunFromPackage"를 사용하여 배포하는 경우 만료 날짜가 1년인 SAS가 생성되고 애플리케이션 구성에서 "WEBSITE_RUN_FROM_PACKAGE" 값으로 설정됩니다. Azure Functions 이 SAS를 사용하여 함수 실행을 위해 패키지 파일을 참조하므로 SAS가 만료된 경우 함수가 실행되지 않습니다. 이 문제를 resolve 다시 배포하여 만료 날짜가 1년인 SAS를 생성합니다.
오류: 지정된 패턴을 가진 패키지를 찾을 수 없음
작업에 언급된 패키지가 빌드 또는 이전 단계에서 아티팩트로 게시되고 현재 작업에 다운로드되었는지 확인합니다.
오류: zip 배포를 사용하여 게시 옵션은 msBuild 패키지 유형에 대해 지원되지 않습니다.
MSBuild 작업을 통해 만든 웹 패키지(기본 인수 포함)에는 웹 배포에서만 올바르게 배포할 수 있는 중첩된 폴더 구조가 있습니다. 게시-zip 배포 옵션은 해당 패키지를 배포하는 데 사용할 수 없습니다. 패키징 구조를 변환하려면 다음 단계를 수행합니다.
솔루션 빌드 작업에서 MSBuild 인수 를 로 변경합니다
/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent"
.보관 작업을 추가하고 다음과 같이 값을 변경합니다.
루트 폴더 또는 파일을 보관으로 변경합니다
$(System.DefaultWorkingDirectory)\\WebAppContent
.경로 검사 보관하기 위해 루트 폴더 이름 앞에 추가 상자를 선택 취소합니다.
Windows에서 웹 앱 배포에 성공했지만 앱이 작동하지 않습니다.
앱에 web.config 없기 때문일 수 있습니다. web.config 파일을 원본에 추가하거나 작업의 파일 변환 및 변수 대체 옵션을 사용하여 파일을 자동으로 생성할 수 있습니다.
작업을 클릭하고 Python, Node.js, Go 및 Java 앱에 대한 web.config 매개 변수 생성으로 이동합니다.
Python, Node.js, Go 및 Java 앱에 대한 web.config 매개 변수 생성 단추를 클릭하여 매개 변수를 편집합니다.
드롭다운에서 애플리케이션 유형을 선택합니다.
[확인]을 클릭합니다. 이렇게 하면 web.config 생성하는 데 필요한 web.config 매개 변수가 채워집니다.
참고
이 섹션은 더 이상 사용되지 않으며 파일 변환 작업으로 대체되었습니다.
ERROR_FILE_IN_USE
Windows의 웹앱에 .NET 앱을 배포할 때 오류 코드 ERROR_FILE_IN_USE 배포가 실패할 수 있습니다. 오류를 resolve 작업에서 잠긴 파일 이름 바꾸기 및 앱 오프라인 설정 옵션을 사용하도록 설정했는지 확인합니다. 가동 중지 시간이 0인 배포의 경우 슬롯 교환을 사용합니다.
패키지 배포에서 실행 메서드를 사용하여 리소스 잠금을 방지할 수도 있습니다.
웹 배포 오류
웹 배포를 사용하여 앱을 배포하는 경우 일부 오류 시나리오에서는 웹 배포가 로그에 오류 코드를 표시합니다. 웹 배포 오류를 해결하려면 웹 배포 오류 코드를 참조하세요.
ASE(App Service Environment) 에서 웹 앱 배포가 작동하지 않습니다.
- Azure DevOps 빌드 에이전트가 ASE의 ILB(내부 Load Balancer)와 동일한 VNET(서브넷이 다를 수 있습니다)에 있는지 확인합니다. 이렇게 하면 에이전트가 Azure DevOps에서 코드를 가져와 ASE에 배포할 수 있습니다.
- Azure DevOps를 사용하는 경우 에이전트는 인터넷에서 액세스할 필요가 없지만 Azure DevOps Service에 연결하려면 아웃바운드 액세스만 필요합니다.
- Virtual Network 배포된 TFS/Azure DevOps Server 사용하는 경우 에이전트를 완전히 격리할 수 있습니다.
- 빌드 에이전트는 배포해야 하는 웹앱의 DNS 구성으로 구성해야 합니다. Virtual Network 프라이빗 리소스에는 Azure DNS에 항목이 없으므로 에이전트 컴퓨터의 호스트 파일에 추가해야 합니다.
- ASE 구성
-allowUntrusted
에 자체 서명된 인증서를 사용하는 경우 MSDeploy에 대한 배포 작업에서 옵션을 설정해야 합니다. 변수VSTS_ARM_REST_IGNORE_SSL_ERRORS
를 true로 설정하는 것도 좋습니다. 인증 기관의 인증서가 ASE 구성에 사용되는 경우 필요하지 않습니다. 자동 교환하도록 구성된 슬롯에 배포하는 경우 App Services 구성 설정에서 또는SCM_SKIP_ASE_SSL_VALIDATION
을1
설정SCM_SKIP_SSL_VALIDATION
하지 않으면 교환이 실패합니다.
FAQ
과 AzureRmWebAppDeployment
작업의 차이점은 AzureWebApp
무엇인가요?
Azure Web App 작업(AzureWebApp
)은 Azure Web App에 배포하는 가장 간단한 방법입니다. 기본적으로 배포는 Azure Web App의 루트 애플리케이션에 발생합니다.
Azure App Service 배포 작업(AzureRmWebAppDeployment
)은 다음과 같은 더 많은 사용자 지정 시나리오를 처리할 수 있습니다.
- 웹 패키지 및 XML 매개 변수 파일 내에서 구성 설정을 수정합니다.
- IIS 배포 프로세스에 익숙한 경우 웹 배포를 사용하여 배포합니다.
- 가상 애플리케이션에 배포합니다.
- 컨테이너 앱, 함수 앱, WebJobs 또는 API 및 모바일 앱과 같은 다른 앱 유형에 배포합니다.
참고
파일 변환 및 변수 대체는 Azure Pipelines에서 사용하는 별도의 파일 변환 작업에서도 지원됩니다. 파일 변환 작업을 사용하여 파일 변환 및 변수 대체를 구성 및 매개 변수 파일에 적용할 수 있습니다.
서비스 연결을 구성하려면 어떻게 해야 하나요?
이 작업에는 Azure Resource Manager 서비스 연결이 필요합니다.
Application Insights를 사용하여 웹 작업 배포를 구성해야 하나요?
App Service 배포할 때 Application Insights를 구성하고 를 사용하도록 설정한 Remove additional files at destination
경우 을 사용하도록 설정Exclude files from the App_Data folder
해야 합니다. 이 옵션을 사용하도록 설정하면 Application Insights 확장이 안전한 상태로 유지됩니다. Application Insights 연속 WebJob이 App_Data 폴더에 설치되므로 이 단계가 필요합니다.
App Service 배포하는 동안 프록시 뒤에 있는 경우 에이전트를 구성하려면 어떻게 해야 하나요?
자체 호스팅 에이전트에 웹 프록시가 필요한 경우 구성 중에 에이전트에 프록시에 대해 알릴 수 있습니다. 이렇게 하면 에이전트가 Azure Pipelines에 연결하거나 프록시를 통해 Azure DevOps Server 수 있습니다. 웹 프록시 뒤에서 자체 호스팅 에이전트를 실행하는 방법에 대해 자세히 알아봅니다.
예제
특정 앱 유형에 배포
특정 앱 유형에 배포하려면 허용되는 값 webApp
(Windows의 웹앱), (Linux의 웹앱), webAppContainer
webAppLinux
(Web App for Containers - Linux), (Windows의 함수 앱), functionApp
(Linux의 함수 앱), functionAppContainer
functionAppLinux
(컨테이너용 함수 앱 - Linux), (API 앱), apiApp
mobileApp
(모바일 앱)으로 설정합니다appType
. 언급되지 webApp
않은 경우 는 기본값으로 사용됩니다.
고급 배포 옵션을 사용하도록 설정하려면 매개 변수 enableCustomDeployment: true
를 추가하고 필요에 따라 다음 매개 변수를 포함합니다.
# deploymentMethod: 'runFromPackage' # supports zipDeploy as well
# appOffline: boolean # Not applicable for 'runFromPackage'
# setParametersFile: string
# removeAdditionalFilesFlag: boolean
# additionalArguments: string
Azure Web App Linux 컨테이너에 배포
다음 YAML 예제는 Azure Web App 컨테이너(Linux)에 배포합니다.
pool:
vmImage: ubuntu-latest
variables:
azureSubscriptionEndpoint: Contoso
DockerNamespace: contoso.azurecr.io
DockerRepository: aspnetcore
WebAppName: containersdemoapp
steps:
- task: AzureRMWebAppDeployment@4
displayName: Azure App Service Deploy
inputs:
appType: webAppContainer
ConnectedServiceName: $(azureSubscriptionEndpoint)
WebAppName: $(WebAppName)
DockerNamespace: $(DockerNamespace)
DockerRepository: $(DockerRepository)
DockerImageTag: $(Build.BuildId)
배포 슬롯에서 Windows App Service 웹앱 배포
다음 예제에서는 배포 슬롯에서 Windows App Service 웹앱을 배포합니다.
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'
배포 후 샘플 스크립트
이 작업은 앱의 아티팩트가 App Service 성공적으로 복사된 후 Azure App Service 실행되는 스크립트를 제공하여 배포를 사용자 지정하는 옵션을 제공합니다. 인라인 배포 스크립트 또는 아티팩트 폴더에 있는 스크립트 파일의 경로 및 이름을 제공하도록 선택할 수 있습니다.
이는 App Service 직접 애플리케이션 종속성을 복원하려는 경우에 매우 유용합니다. 노드, PHP 및 Python 앱에 대한 패키지를 복원하면 애플리케이션 종속성으로 인해 에이전트에서 Azure App Service 큰 아티팩트가 복사되는 시간 제한을 방지할 수 있습니다.
배포 스크립트의 예는 다음과 같습니다.
@echo off
if NOT exist requirements.txt (
echo No Requirements.txt found.
EXIT /b 0
)
if NOT exist "$(PYTHON_EXT)/python.exe" (
echo Python extension not available >&2
EXIT /b 1
)
echo Installing dependencies
call "$(PYTHON_EXT)/python.exe" -m pip install -U setuptools
if %errorlevel% NEQ 0 (
echo Failed to install setuptools >&2
EXIT /b 1
)
call "$(PYTHON_EXT)/python.exe" -m pip install -r requirements.txt
if %errorlevel% NEQ 0 (
echo Failed to install dependencies>&2
EXIT /b 1
)
요구 사항
요구 사항 | Description |
---|---|
파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
실행 중 | 에이전트, DeploymentGroup |
요청 | 없음 |
Capabilities | 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다. |
명령 제한 사항 | 모두 |
Settable 변수 | 모두 |
에이전트 버전 | 2.104.1 이상 |
작업 범주 | 배포 |
추가 정보
- 이 작업은 GitHub에서 오픈 소스. 피드백과 기여를 환영합니다.