AzureRmWebAppDeployment@3 - Azure App Service v3 배포 작업
이 작업을 사용하여 Docker, Java, .NET, .NET Core, Node.js, PHP, Python 또는 Ruby를 사용하여 웹, 모바일 또는 API 앱을 Azure App Service에 배포합니다.
이 버전의 작업은 더 이상 사용되지 않습니다. AzureRmWebAppDeployment@4 사용하여 워크로드 ID 페더레이션같은 최신 기능을 활용합니다.
비고
AzureFunctionApp@1 사용하여 Azure Functions 앱을 배포합니다.
이 작업을 사용하여 Docker, Java, .NET, .NET Core, Node.js, PHP, Python 또는 Ruby를 사용하여 웹, 모바일 또는 API 앱을 Azure App Service에 배포합니다.
비고
AzureFunctionApp@1 사용하여 Azure Functions 앱을 배포합니다.
구문론
# Azure App Service deploy v3
# 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@3
inputs:
azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription.
appType: 'app' # 'app' | 'applinux' | 'functionapp' | 'api' | 'mobileapp'. Alias: WebAppKind. Required. App type. Default: app.
WebAppName: # string. Required. App Service name.
#DeployToSlotFlag: false # boolean. Optional. Use when WebAppKind != "". Deploy to slot. Default: false.
#ResourceGroupName: # string. Required when DeployToSlotFlag = true. Resource group.
#SlotName: # string. Required when DeployToSlotFlag = true. Slot.
#ImageSource: 'Registry' # 'Registry' | 'Builtin'. Optional. Use when WebAppKind = applinux || WebAppKind = linux. Image Source. Default: Registry.
#AzureContainerRegistry: # string. Required when ImageSource = AzureContainerRegistry. Registry.
#AzureContainerRegistryLoginServer: # string. Optional. Use when ImageSource = invalidimagesource. Registry Login Server Name.
#AzureContainerRegistryImage: # string. Required when ImageSource = AzureContainerRegistry. Image.
#AzureContainerRegistryTag: # string. Optional. Use when ImageSource = AzureContainerRegistry. Tag.
#DockerRepositoryAccess: 'public' # 'private' | 'public'. Required when ImageSource = invalidImage. Repository Access. Default: public.
#dockerRegistryConnection: # string. Alias: RegistryConnectedServiceName. Required when DockerRepositoryAccess = private || ImageSource = PrivateRegistry. Registry Connection.
#PrivateRegistryImage: # string. Required when ImageSource = PrivateRegistry. Image.
#PrivateRegistryTag: # string. Optional. Use when ImageSource = PrivateRegistry. Tag.
#DockerNamespace: # string. Required when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry. Registry or Namespace.
#DockerRepository: # string. Required when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry. Image.
#DockerImageTag: # string. Optional. Use when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry. Tag.
#VirtualApplication: # string. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Virtual application.
#Package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Alias: BuiltinLinuxPackage. Required when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#RuntimeStack: # string. Required when WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin. Runtime Stack.
#StartupCommand: # string. Optional. Use when WebAppKind = applinux || WebAppKind = linux. Startup command.
# Output
#WebAppUri: # string. Optional. Use when WebAppKind != "". App Service URL.
# Post Deployment Action
#ScriptType: # 'Inline Script' | 'File Path'. Optional. Use when WebAppKind != "". Deployment script type.
#InlineScript: ':: You can provide your deployment commands here. One command per line.' # string. Required when ScriptType == Inline Script && WebAppKind != "". Inline Script. Default: :: You can provide your deployment commands here. One command per line..
#ScriptPath: # string. Required when ScriptType == File Path && WebAppKind != "". Deployment script path.
# File Transforms & Variable Substitution Options
#GenerateWebConfig: false # boolean. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. Generate Web.config. Default: false.
#WebConfigParameters: # string. Required when GenerateWebConfig == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. Web.config parameters.
#enableXmlTransform: false # boolean. Alias: XmlTransformation. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. XML transformation. Default: false.
#enableXmlVariableSubstitution: false # boolean. Alias: XmlVariableSubstitution. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. XML variable substitution. Default: false.
#JSONFiles: # string. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war. JSON variable substitution.
# Application and Configuration Settings
#AppSettings: # string. App settings.
#ConfigurationSettings: # string. Configuration settings.
# Additional Deployment Options
#TakeAppOfflineFlag: false # boolean. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Take App Offline. Default: false.
#UseWebDeploy: false # boolean. Optional. Use when WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Publish using Web Deploy. Default: false.
#SetParametersFile: # string. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". SetParameters file.
#RemoveAdditionalFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Remove additional files at destination. Default: false.
#ExcludeFilesFromAppDataFlag: false # boolean. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Exclude files from the App_Data folder. Default: false.
#AdditionalArguments: # string. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Additional arguments.
#RenameFilesFlag: false # boolean. Optional. Use when UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "". Rename locked files. Default: false.
입력
Azure 구독
입력 별칭: ConnectedServiceName
.
string
; 필수 사항입니다.
배포에 대한 Azure Resource Manager 구독을 지정합니다.
appType
-
앱 유형
입력 별칭: WebAppKind
.
string
; 필수 사항입니다. 허용되는 값: app
(웹앱), applinux
(Linux 웹앱), functionapp
(함수 앱(권장되지 않음, Azure Functions 작업 사용), api
(API 앱), mobileapp
(모바일 앱) 기본값은 app
입니다.
배포할 웹앱의 유형을 지정합니다.
참고: 기본 제공 플랫폼 이미지 또는 사용자 지정 컨테이너 이미지 배포에 Linux 웹앱을 지정합니다.
appType
-
앱 유형
입력 별칭: WebAppKind
.
string
; 필수 사항입니다. 허용되는 값: app
(웹앱), applinux
(Linux 웹앱), functionapp
(함수 앱), api
(API 앱), mobileapp
(모바일 앱). 기본값은 app
입니다.
배포할 웹앱의 유형을 지정합니다.
참고: 기본 제공 플랫폼 이미지 또는 사용자 지정 컨테이너 이미지 배포에 Linux 웹앱을 지정합니다.
App Service 이름
string
; 필수 사항입니다.
기존 Azure App Service의 이름을 지정합니다. 선택한 앱 유형을 기반으로 하는 앱 서비스는 작업 도우미를 사용하는 경우에만 나열됩니다.
슬롯배포 DeployToSlotFlag
-
boolean
; 선택 사항.
WebAppKind != ""
때 사용합니다. 기본값은 false
입니다.
프로덕션 슬롯이 아닌 기존 슬롯에 배포하려면 이 옵션을 사용합니다. 이 옵션을 선택하지 않으면 Azure App Service가 프로덕션 슬롯에 배포됩니다.
ResourceGroupName
-
리소스 그룹
string
;
DeployToSlotFlag = true
때 필요합니다.
위에서 지정한 Azure App Service를 포함하는 Azure 리소스 그룹을 지정합니다.
SlotName
-
슬롯
string
;
DeployToSlotFlag = true
때 필요합니다.
프로덕션 슬롯 이외의 기존 슬롯을 지정합니다.
이미지 원본ImageSource
-
string
; 선택 사항.
WebAppKind = applinux || WebAppKind = linux
때 사용합니다. 허용되는 값: Registry
(Container Registry), Builtin
(기본 제공 이미지). 기본값은 Registry
입니다.
Linux의 App Service는 애플리케이션을 게시하는 두 가지 옵션을 제공합니다.
기본 제공 플랫폼 이미지를 사용하여 사용자 지정 이미지 배포 또는 앱 배포
AzureContainerRegistry
-
레지스트리
string
;
ImageSource = AzureContainerRegistry
때 필요합니다.
특정 레지스트리에 대한 전역적으로 고유한 최상위 도메인 이름입니다.
참고: 정규화된 이미지 이름은 <registry>
/<repository>
:<tag>
형식입니다. 예를 들어 myregistry.azurecr.io
/nginx:latest
.
AzureContainerRegistryLoginServer
-
레지스트리 로그인 서버 이름
string
; 선택 사항.
ImageSource = invalidimagesource
때 사용합니다.
Azure Container Registry 로그인 서버 이름을 지정합니다.
AzureContainerRegistryImage
-
이미지
string
;
ImageSource = AzureContainerRegistry
때 필요합니다.
컨테이너 이미지가 저장되는 리포지토리의 이름입니다.
참고: 정규화된 이미지 이름은 <registry>
/<repository>
:<tag>
형식입니다. 예를 들어 myregistry.azurecr.io
/nginx
:latest
.
AzureContainerRegistryTag
-
태그
string
; 선택 사항.
ImageSource = AzureContainerRegistry
때 사용합니다.
이는 레지스트리가 Docker 이미지에 버전을 제공하는 데 사용하는 메커니즘입니다.
참고: 정규화된 이미지 이름은 <registry>
/<repository>
:<tag>
형식입니다. 예를 들어 myregistry.azurecr.io
/nginx
:latest
.
DockerRepositoryAccess
-
리포지토리 액세스
string
;
ImageSource = invalidImage
때 필요합니다. 허용되는 값: private
, public
. 기본값은 public
입니다.
Docker 리포지토리 액세스를 지정합니다.
레지스트리 연결dockerRegistryConnection
-
입력 별칭: RegistryConnectedServiceName
.
string
;
DockerRepositoryAccess = private || ImageSource = PrivateRegistry
때 필요합니다.
레지스트리 연결을 지정합니다.
PrivateRegistryImage
-
이미지
string
;
ImageSource = PrivateRegistry
때 필요합니다.
컨테이너 이미지가 저장되는 리포지토리의 이름입니다.
참고: 정규화된 이미지 이름은 <registry>
<repository>
:<tag>
형식입니다. 예를 들어 myregistry.azurecr.io
/nginx
:latest
.
PrivateRegistryTag
-
태그
string
; 선택 사항.
ImageSource = PrivateRegistry
때 사용합니다.
태그는 레지스트리가 Docker 이미지에 버전을 제공하는 데 사용하는 메커니즘입니다.
참고: 정규화된 이미지 이름은 '<registry>
/<repository>
:<tag>
' 형식입니다. 예를 들어 myregistry.azurecr.io
/nginx
:latest
.
DockerNamespace
-
레지스트리 또는 네임스페이스
string
;
WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry
때 필요합니다.
특정 레지스트리 또는 네임스페이스에 대한 전역적으로 고유한 최상위 도메인 이름입니다.
참고: 정규화된 이미지 이름은 <registry or namespace>
/<repository>
:<tag>
형식입니다. 예를 들어 myregistry.azurecr.io
/nginx
:latest
.
DockerRepository
-
이미지
string
;
WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry
때 필요합니다.
컨테이너 이미지가 저장되는 리포지토리의 이름입니다.
참고: 정규화된 이미지 이름은 '<registry or namespace>
/<repository>
:<tag>
형식입니다. 예를 들어 myregistry.azurecr.io
/nginx
:latest
.
DockerImageTag
-
태그
string
; 선택 사항.
WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry
때 사용합니다.
이는 레지스트리가 Docker 이미지에 버전을 제공하는 데 사용하는 메커니즘입니다.
참고: 정규화된 이미지 이름은 '<registry or namespace>
/<repository>
:<tag>
' 형식입니다. 예를 들어 myregistry.azurecr.io
/nginx
:latest
.
가상 애플리케이션
string
; 선택 사항.
WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
때 사용합니다.
Azure Portal에서 구성된 가상 애플리케이션의 이름을 지정합니다. App Service 루트에 배포하는 데 이 옵션은 필요하지 않습니다.
패키지 또는 폴더
string
;
WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
때 필요합니다. 기본값은 $(System.DefaultWorkingDirectory)/**/*.zip
입니다.
MSBuild 또는 압축된 zip 또는 war 파일에서 생성된 앱 서비스 콘텐츠가 포함된 패키지 또는 폴더의 파일 경로입니다.
변수는 빌드 및
예를 들어 $(System.DefaultWorkingDirectory)/\*\*/\*.zip
또는 $(System.DefaultWorkingDirectory)/\*\*/\*.war
.
패키지 또는 폴더
입력 별칭: BuiltinLinuxPackage
.
string
;
WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin
때 필요합니다. 기본값은 $(System.DefaultWorkingDirectory)/**/*.zip
입니다.
MSBuild 또는 압축된 zip 또는 war 파일에서 생성된 앱 서비스 콘텐츠가 포함된 패키지 또는 폴더의 파일 경로입니다.
변수는 빌드 및
예를 들어 $(System.DefaultWorkingDirectory)/\*\*/\*.zip
또는 $(System.DefaultWorkingDirectory)/\*\*/\*.war
.
RuntimeStack
-
런타임 스택
string
;
WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin
때 필요합니다.
프레임워크 및 버전을 지정합니다.
StartupCommand
-
시작 명령
string
; 선택 사항.
WebAppKind = applinux || WebAppKind = linux
때 사용합니다.
시작 명령을 지정합니다.
App Service URLWebAppUri
-
string
; 선택 사항.
WebAppKind != ""
때 사용합니다.
Azure App Service의 URL에 대해 생성된 출력 변수의 이름을 지정합니다. 변수는 후속 작업에서 사용할 수 있습니다.
ScriptType
-
배포 스크립트 유형
string
; 선택 사항.
WebAppKind != ""
때 사용합니다. 허용되는 값: Inline Script
, File Path
(스크립트 파일 경로).
작업이 성공적으로 배포를 완료한 후 Azure App Service에서 실행되는 스크립트를 제공하여 배포를 사용자 지정합니다. 예를 들어 노드, PHP 및 Python 애플리케이션에 대한 패키지를 복원할 수 있습니다. Azure App Service 배포
InlineScript
-
인라인 스크립트
string
;
ScriptType == Inline Script && WebAppKind != ""
때 필요합니다. 기본값은 :: You can provide your deployment commands here. One command per line.
입니다.
ScriptPath
-
배포 스크립트 경로
string
;
ScriptType == File Path && WebAppKind != ""
때 필요합니다.
GenerateWebConfig
-
생성 Web.config
boolean
; 선택 사항.
WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war
때 사용합니다. 기본값은 false
입니다.
애플리케이션에 표준 Web.config
생성되고 애플리케이션에 없는 경우 Azure App Service에 배포됩니다.
web.config
값은 편집할 수 있으며 애플리케이션 프레임워크에 따라 달라질 수 있습니다. 예를 들어 node.js
애플리케이션의 경우 web.config
시작 파일과 iis_node
모듈 값이 있습니다. Azure App Service 배포
매개 변수WebConfigParameters
- Web.config
string
;
GenerateWebConfig == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war
때 필요합니다.
생성된 web.config
파일의 시작 파일과 같은 값을 편집합니다. 이 편집 기능은 생성된 web.config
전용입니다. Azure App Service 배포
앱 설정
string
;
구문 -key 값에 따라 웹앱 애플리케이션 설정을 편집합니다. 공백을 포함하는 값은 큰따옴표로 묶어야 합니다.
예: -Port 5000
-RequestTimeout 5000
-WEBSITE_TIME_ZONE
"Eastern Standard Time"
.
ConfigurationSettings
-
구성 설정
string
;
구문 -key
값에 따라 웹앱 구성 설정을 편집합니다. 공백을 포함하는 값은 큰따옴표로 묶어야 합니다.
예: -phpVersion 5.6
-linuxFxVersion: node|6.11
.
앱을 오프라인으로 TakeAppOfflineFlag
-
boolean
; 선택 사항.
WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
때 사용합니다. 기본값은 false
입니다.
동기화 작업이 시작되기 전에 App Service의 루트 디렉터리에 app_offline.htm
파일을 배치하여 Azure App Service를 오프라인으로 전환하려면 이 옵션을 사용합니다. 동기화 작업이 성공적으로 완료되면 파일이 제거됩니다.
웹 배포사용하여 게시 UseWebDeploy
-
boolean
; 선택 사항.
WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
때 사용합니다. 기본값은 false
입니다.
Publish using Web Deploy
옵션은 Windows 에이전트를 사용하는 경우에만 지원됩니다. 다른 플랫폼에서는 태스크가 Kudu REST API를 사용하여 Azure App Service를 배포하는 다음 옵션은 지원되지 않습니다.
SetParameters 파일
string
; 선택 사항.
UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
때 사용합니다.
사용할 SetParameters.xml
파일의 위치입니다.
RemoveAdditionalFilesFlag
-
대상 추가 파일 제거
boolean
; 선택 사항.
UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
때 사용합니다. 기본값은 false
입니다.
App Service 패키지 또는 폴더에 일치하는 파일이 없는 Azure App Service에서 파일을 삭제하려면 이 옵션을 사용합니다.
참고: 이 Azure App Service에 설치된 확장과 관련된 모든 파일도 제거됩니다. 이를 방지하려면 Exclude files from App_Data folder
확인란을 선택합니다.
ExcludeFilesFromAppDataFlag
-
App_Data 폴더 파일 제외
boolean
; 선택 사항.
UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
때 사용합니다. 기본값은 false
입니다.
이 옵션을 사용하여 App_Data
폴더의 파일이 Azure App Service에서 배포/삭제되지 않도록 합니다.
AdditionalArguments
-
추가 인수
string
; 선택 사항.
UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
때 사용합니다.
구문 다음에 추가 웹 배포 인수가 -key:value
.
Azure App Service를 배포할 때 적용됩니다. 예: -disableLink:AppPoolExtension
-disableLink:ContentExtension
.
웹 배포 작업 설정대한 자세한 예제를 참조하세요.
잠긴 파일 이름 바꾸기
boolean
; 선택 사항.
UseWebDeploy == true && WebAppKind != linux && WebAppKind != applinux && WebAppKind != ""
때 사용합니다. 기본값은 false
입니다.
이 옵션을 사용하여 Azure App Service 애플리케이션 설정에서 msdeploy 플래그 MSDEPLOY_RENAME_LOCKED_FILES=1
사용하도록 설정합니다. 이 옵션을 사용하면 msdeploy가 앱 배포 중에 잠긴 파일의 이름을 바꿀 수 있습니다.
enableXmlTransform
-
XML 변환
입력 별칭: XmlTransformation
.
boolean
; 선택 사항.
WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war
때 사용합니다. 기본값은 false
입니다.
구성 변환은 *.Release.config
*.<EnvironmentName>.config
및 *.config file
대해 실행됩니다.
구성 변환은 변수 대체 전에 실행됩니다.
XML 변환은 Windows 플랫폼에 대해서만 지원됩니다.
enableXmlVariableSubstitution
-
XML 변수 대체
입력 별칭: XmlVariableSubstitution
.
boolean
; 선택 사항.
WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war
때 사용합니다. 기본값은 false
입니다.
빌드 또는 릴리스 파이프라인에 정의된 변수는 구성 파일 및 parameters.xml
appSettings
, applicationSettings
및 connectionStrings
섹션의 key
또는 name
항목과 일치합니다. 구성 변환 후에 변수 대체가 실행됩니다.
참고: 릴리스 파이프라인 및 환경에서 동일한 변수가 정의된 경우 환경 변수는 릴리스 파이프라인 변수를 대체합니다.
JSON 변수 대체
string
; 선택 사항.
WebAppKind != linux && WebAppKind != applinux && WebAppKind != "" && Package NotEndsWith .war
때 사용합니다.
변수 값을 대체할 새 줄로 구분된 JSON 파일 목록을 제공합니다. 루트 폴더를 기준으로 파일 이름을 제공해야 합니다.
중첩 또는 계층 구조인 JSON 변수를 대체하려면 JSONPath
식을 사용하여 지정합니다.
예를 들어 아래 샘플에서 ConnectionString
값을 바꾸려면 빌드/릴리스 파이프라인(또는 릴리스 파이프라인 환경)에서 변수를 Data.DefaultConnection.ConnectionString
정의해야 합니다.
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
변수 대체는 구성 변환 후에 실행됩니다.
참고: 파이프라인 변수는 대체에서 제외됩니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성참조하세요.
출력 변수
없음.
비고
이 작업의 최신 버전을 사용할 수 있습니다. 자세한 내용은 AzureRmWebAppDeployment@4참조하세요.
문제 해결
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.
같은 오류가 발생합니다.
이 문제를 해결하려면 기본 설정 순서대로 다음 옵션 중에서 선택할 수 있습니다.
- 에이전트 이미지를 업데이트합니다. 호스트된 에이전트를 사용하는 경우
windows-2019 에서windows-2022 (또는 windows-latest)로 이동합니다. 자체 호스팅 에이전트를 사용하는 경우 에이전트에 Visual Studio 2022를 설치하여 최신 버전의 msdeploy.exe가져옵니다. - 이전 에이전트 이미지에 종속되어 있고 파이프라인에 대한 에이전트를 업데이트할 수 없는 경우 Azure App Service 배포 작업이
windows-2022 (또는 windows-latest)에서 실행되도록 작업을 분할하는 것이 좋습니다. - 이러한 옵션 중 어느 것도 가능하지 않으면 Azure App Service에 대한 기본 인증 사용하도록
수 있습니다.