이 작업을 사용하여 MSDeploy를 사용하여 IIS 웹앱을 배포한 다음 웹 사이트 및 앱 풀을 만들거나 업데이트합니다.
중요합니다
이 작업은 더 이상 사용되지 않으며 2024년 1월 31일에 사용 중지됩니다. WinRM - Visual Studio Marketplace를 사용하여 IIS 웹앱 배포를 사용합니다.
이 작업을 사용하여 MSDeploy를 사용하여 IIS 웹앱을 배포한 다음 웹 사이트 및 앱 풀을 만들거나 업데이트합니다.
중요합니다
이 작업은 더 이상 사용되지 않습니다. WinRM - Viual Studio Marketplace를 사용하여 IIS 웹앱 배포를 사용합니다.
구문론
# IIS Web App deployment (Deprecated) v1
# Deploy using MSDeploy, then create/update websites and app pools.
- task: IISWebAppDeployment@1
inputs:
EnvironmentName: # string. Required. Machines.
#AdminUserName: # string. Admin Login.
#AdminPassword: # string. Password.
#WinRMProtocol: # 'Http' | 'Https'. Protocol.
#TestCertificate: true # boolean. Optional. Use when WinRMProtocol = Https. Test Certificate. Default: true.
# Deployment
WebDeployPackage: # string. Required. Web Deploy Package.
#WebDeployParamFile: # string. Web Deploy Parameter File.
#OverRideParams: # string. Override Parameters.
# Website
#CreateWebSite: false # boolean. Create or Update Website. Default: false.
#WebSiteName: # string. Required when CreateWebSite = true. Website Name.
#WebSitePhysicalPath: '%SystemDrive%\inetpub\wwwroot' # string. Required when CreateWebSite = true. Physical Path. Default: %SystemDrive%\inetpub\wwwroot.
#WebSitePhysicalPathAuth: 'Application User (Pass-through)' # 'WebSiteUserPassThrough' | 'WebSiteWindowsAuth'. Required when CreateWebSite = true. Physical Path Authentication. Default: Application User (Pass-through).
#WebSiteAuthUserName: # string. Required when WebSitePhysicalPathAuth = WebSiteWindowsAuth. User Name.
#WebSiteAuthUserPassword: # string. Optional. Use when WebSitePhysicalPathAuth = WebSiteWindowsAuth. Password.
#AddBinding: true # boolean. Optional. Use when CreateWebSite = true. Add Binding. Default: true.
#AssignDuplicateBinding: false # boolean. Optional. Use when AddBinding = true. Assign Duplicate Binding. Default: false.
Protocol: 'http' # 'https' | 'http'. Required when AddBinding = true. Protocol. Default: http.
IPAddress: 'All Unassigned' # string. Required when AddBinding = true. IP Address. Default: All Unassigned.
Port: '80' # string. Required when AddBinding = true. Port. Default: 80.
#ServerNameIndication: false # boolean. Optional. Use when Protocol = https. Server Name Indication Required. Default: false.
#HostNameWithOutSNI: # string. Optional. Use when ServerNameIndication = false. Host Name.
#HostNameWithHttp: # string. Optional. Use when Protocol = http. Host Name.
#HostNameWithSNI: # string. Required when ServerNameIndication = true. Host Name.
#SSLCertThumbPrint: # string. Required when Protocol = https. SSL Certificate Thumb Print.
# Application Pool
#CreateAppPool: false # boolean. Create or Update Application Pool. Default: false.
#AppPoolName: # string. Required when CreateAppPool = true. Name.
#DotNetVersion: 'v4.0' # 'v4.0' | 'v2.0' | 'No Managed Code'. Required when CreateAppPool = true. .NET Version. Default: v4.0.
#PipeLineMode: 'Integrated' # 'Integrated' | 'Classic'. Required when CreateAppPool = true. Managed Pipeline Mode. Default: Integrated.
#AppPoolIdentity: 'ApplicationPoolIdentity' # 'ApplicationPoolIdentity' | 'LocalService' | 'LocalSystem' | 'NetworkService' | 'SpecificUser'. Required when CreateAppPool = true. Identity. Default: ApplicationPoolIdentity.
#AppPoolUsername: # string. Required when AppPoolIdentity = SpecificUser. Username.
#AppPoolPassword: # string. Optional. Use when AppPoolIdentity = SpecificUser. Password.
# Advanced
#AppCmdCommands: # string. Additional AppCmd.exe Commands.
#DeployInParallel: true # boolean. Deploy in Parallel. Default: true.
#ResourceFilteringMethod: 'machineNames' # 'machineNames' | 'tags'. Select Machines By. Default: machineNames.
#MachineFilter: # string. Deploy to Machines.
입력
EnvironmentName
-
기계
string
; 필수 사항입니다.
포트와 함께 컴퓨터 IP 주소 또는 FQDN의 쉼표로 구분된 목록을 지정합니다. 기본 포트는 선택한 프로토콜(예: dbserver.fabrikam.com
또는 dbserver_int.fabrikam.com:5986,192.168.12.34:5986
)을 기반으로 합니다. 다른 작업의 출력 변수(예: $(variableName)
)를 제공할 수도 있습니다.
AdminUserName
-
관리자 로그인
string
;
대상 컴퓨터에 대한 관리자 로그인을 지정합니다.
AdminPassword
-
암호
string
;
대상 컴퓨터의 관리자 암호를 지정합니다. 빌드/릴리스 정의에 정의된 변수(예: $(passwordVariable)
)를 수락할 수 있습니다. 변수 형식을 secret
표시하여 보호할 수 있습니다.
WinRMProtocol
-
프로토콜
string
; 허용되는 값: Http
, Https
.
컴퓨터와의 WinRM 연결에 사용되는 프로토콜을 지정합니다. 기본값은 HTTPS
입니다.
TestCertificate
-
인증서 테스트
boolean
; 선택 사항.
WinRMProtocol = Https
때 사용합니다. 기본값은 true
입니다.
신뢰할 수 있는 인증 기관에서 컴퓨터 인증서의 인증 유효성 검사를 건너뛰는 옵션을 선택합니다. 이 매개 변수는 WinRM HTTPS
프로토콜에 필요합니다.
WebDeployPackage
-
웹 배포 패키지
string
; 필수 사항입니다.
대상 컴퓨터 또는 UNC 경로(예: \\BudgetIT\WebDeploy\WebDeployPackage.zip
)에서 MSDeploy(웹 배포) zip 파일의 위치를 지정합니다. UNC 경로는 컴퓨터의 관리자 계정에 액세스할 수 있어야 합니다.
$env:windir
, $env:systemroot
및 $env:windir\FabrikamFibre\Web
같은 환경 변수도 지원됩니다.
WebDeployParamFile
-
웹 배포 매개 변수 파일
string
;
대상 컴퓨터 또는 UNC 경로에 있는 매개 변수 파일의 위치를 지정합니다. 매개 변수 파일은 IIS 웹 애플리케이션 이름 또는 데이터베이스 연결 문자열과 같은 웹 애플리케이션 구성 설정을 재정의하는 데 사용됩니다.
OverRideParams
-
매개 변수 재정의
string
;
여기에 지정된 매개 변수는 MSDeploy zip 파일 및 매개 변수 파일의 매개 변수를 재정의합니다. 둘 이상의 매개 변수를 재정의하려면 줄 구분 기호를 사용합니다.
예를 들어 "IIS Web Application Name"="Fabrikam"
또는 "ConnectionString"="Server=localhost;Database=Fabrikam;"
.
CreateWebSite
-
웹 사이트 만들기 또는 업데이트
boolean
; 기본값은 false
입니다.
웹 사이트를 만들거나 기존 웹 사이트를 업데이트하는 옵션을 지정합니다.
WebSiteName
-
웹 사이트 이름
string
;
CreateWebSite = true
때 필요합니다.
IIS 웹 사이트가 없는 경우 생성되거나 IIS 서버에 이미 있는 경우 업데이트될 IIS 웹 사이트의 이름을 지정합니다. 웹 사이트의 이름은 웹 배포 zip 패키지 파일에 지정된 것과 동일해야 합니다. 매개 변수 파일 및 재정의 매개 변수 설정도 지정된 경우 웹 사이트의 이름은 재정의 매개 변수 설정의 이름과 동일해야 합니다.
WebSitePhysicalPath
-
실제 경로
string
;
CreateWebSite = true
때 필요합니다. 기본값은 %SystemDrive%\inetpub\wwwroot
입니다.
웹 사이트 콘텐츠가 저장되는 실제 경로를 지정합니다. 콘텐츠는 로컬 컴퓨터 또는 원격 디렉터리 또는 공유(예: C:\Fabrikam
또는 \\ContentShare\Fabrikam
)에 상주할 수 있습니다.
WebSitePhysicalPathAuth
-
물리적 경로 인증
string
;
CreateWebSite = true
때 필요합니다. 허용되는 값: WebSiteUserPassThrough
(애플리케이션 사용자(통과)), WebSiteWindowsAuth
(Windows 인증). 기본값은 Application User (Pass-through)
입니다.
웹 사이트의 실제 경로에 액세스하기 위한 인증 메커니즘을 지정합니다.
WebSiteAuthUserName
-
사용자 이름
string
;
WebSitePhysicalPathAuth = WebSiteWindowsAuth
때 필요합니다.
웹 사이트의 실제 경로에 액세스하기 위한 사용자 이름을 지정합니다.
WebSiteAuthUserPassword
-
암호
string
; 선택 사항.
WebSitePhysicalPathAuth = WebSiteWindowsAuth
때 사용합니다.
웹 사이트의 실제 경로에 액세스하기 위한 암호를 지정합니다. gMSA를 사용하는 경우 필요하지 않습니다.
AddBinding
-
바인딩 추가
boolean
; 선택 사항.
CreateWebSite = true
때 사용합니다. 기본값은 true
입니다.
웹 사이트에 대한 포트 바인딩을 추가하는 옵션을 지정합니다.
AssignDuplicateBinding
-
중복 바인딩 할당
boolean
; 선택 사항.
AddBinding = true
때 사용합니다. 기본값은 false
입니다.
여기에 지정된 바인딩을 추가하는 옵션을 지정합니다(동일한 바인딩을 가진 다른 웹 사이트가 있는 경우에도). 바인딩 충돌이 있는 경우 웹 사이트 중 하나만 시작됩니다.
Protocol
-
프로토콜
string
;
AddBinding = true
때 필요합니다. 허용되는 값: https
, http
. 기본값은 http
입니다.
웹 사이트에 HTTP 바인딩이 있는 HTTP 또는 SSL(Secure Sockets Layer) 바인딩이 있는 웹 사이트의 HTTPS를 지정합니다.
IPAddress
-
IP 주소
string
;
AddBinding = true
때 필요합니다. 기본값은 All Unassigned
입니다.
사용자가 웹 사이트에 액세스하는 데 사용할 수 있는 IP 주소를 지정합니다. 할당되지 않은 모든 선택하면 사이트는 포트의 모든 IP 주소 및 사이트에 대해 지정된 선택적 호스트 이름에 대한 요청에 응답합니다. 서버의 다른 사이트에 동일한 포트에 바인딩이 있지만 특정 IP 주소가 있는 경우 사이트는 요청에 응답하지 않습니다.
Port
-
항구
string
;
AddBinding = true
때 필요합니다. 기본값은 80
입니다.
하이퍼텍스트 전송 프로토콜 스택(HTTP.sys)이 이 웹 사이트에 대한 요청을 모니터링해야 하는 포트를 지정합니다.
ServerNameIndication
-
서버 이름 표시 필요
boolean
; 선택 사항.
Protocol = https
때 사용합니다. 기본값은 false
입니다.
웹 사이트에 SNI(서버 이름 표시)가 필요한지 여부를 확인합니다. SNI는 SSL 및 TLS 프로토콜을 확장하여 클라이언트가 연결하려는 호스트 이름을 나타냅니다. 인증서가 서로 다른 여러 보안 웹 사이트에서 동일한 IP 주소를 사용할 수 있습니다.
HostNameWithOutSNI
-
호스트 이름
string
; 선택 사항.
ServerNameIndication = false
때 사용합니다.
단일 IP 주소를 사용하는 컴퓨터에 하나 이상의 호스트 이름(또는 도메인 이름)을 할당합니다. 호스트 이름이 지정된 경우 클라이언트는 IP 주소 대신 호스트 이름을 사용하여 웹 사이트에 액세스해야 합니다.
HostNameWithHttp
-
호스트 이름
string
; 선택 사항.
Protocol = http
때 사용합니다.
단일 IP 주소를 사용하는 컴퓨터에 하나 이상의 호스트 이름(또는 도메인 이름)을 할당합니다. 호스트 이름이 지정된 경우 클라이언트는 IP 주소 대신 호스트 이름을 사용하여 웹 사이트에 액세스해야 합니다.
HostNameWithSNI
-
호스트 이름
string
;
ServerNameIndication = true
때 필요합니다.
단일 IP 주소를 사용하는 컴퓨터에 하나 이상의 호스트 이름(또는 도메인 이름)을 할당합니다. 호스트 이름이 지정된 경우 클라이언트는 IP 주소 대신 호스트 이름을 사용하여 웹 사이트에 액세스해야 합니다.
SSLCertThumbPrint
-
SSL 인증서 축소판 인쇄
string
;
Protocol = https
때 필요합니다.
웹 사이트에서 사용할 Secure Socket Layer 인증서의 지문을 지정합니다. 인증서는 컴퓨터에 이미 설치되어 있고 로컬 컴퓨터 개인 저장소 아래에 있어야 합니다.
CreateAppPool
-
애플리케이션 풀 만들기 또는 업데이트
boolean
; 기본값은 false
입니다.
애플리케이션 풀을 만들거나 기존 애플리케이션 풀을 업데이트하는 옵션을 지정합니다.
AppPoolName
-
이름
string
;
CreateAppPool = true
때 필요합니다.
만들거나 업데이트할 IIS 애플리케이션 풀의 이름을 지정합니다. 기존 애플리케이션 풀은 지정된 설정으로 업데이트됩니다.
DotNetVersion
-
.NET 버전
string
;
CreateAppPool = true
때 필요합니다. 허용되는 값: v4.0
, v2.0
, No Managed Code
. 기본값은 v4.0
입니다.
이 애플리케이션 풀에 의해 로드되는 .NET Framework의 버전을 지정합니다. 이 애플리케이션 풀에 할당된 애플리케이션에 관리 코드가 없는 경우 목록에서 관리 코드 없음 옵션을 선택합니다.
PipeLineMode
-
관리되는 파이프라인 모드
string
;
CreateAppPool = true
때 필요합니다. 허용되는 값: Integrated
, Classic
. 기본값은 Integrated
입니다.
관리되는 파이프라인 모드는 IIS가 관리되는 콘텐츠에 대한 요청을 처리하는 방법을 지정합니다. 애플리케이션 풀의 애플리케이션을 통합 모드로 실행할 수 없는 경우에만 클래식 모드를 사용합니다.
AppPoolIdentity
-
신원
string
;
CreateAppPool = true
때 필요합니다. 허용되는 값: ApplicationPoolIdentity
, LocalService
, LocalSystem
, NetworkService
, SpecificUser
(사용자 지정 계정). 기본값은 ApplicationPoolIdentity
입니다.
애플리케이션 풀의 작업자 프로세스가 실행되는 계정을 구성합니다. 미리 정의된 보안 계정 중 하나를 지정하거나 사용자 지정 계정을 구성합니다.
AppPoolUsername
-
사용자 이름
string
;
AppPoolIdentity = SpecificUser
때 필요합니다.
AppPoolPassword
-
암호
string
; 선택 사항.
AppPoolIdentity = SpecificUser
때 사용합니다.
gMSA를 사용하는 경우 필요하지 않습니다.
AppCmdCommands
-
추가 AppCmd.exe 명령
string
;
웹 사이트 또는 애플리케이션 풀 속성을 설정하는 추가 AppCmd.exe
명령을 지정합니다. 둘 이상의 명령의 경우 줄 구분 기호를 사용합니다.
다음은 그 예입니다.
앱 풀< 나열 >
<목록 사이트>
DeployInParallel
-
병렬로 배포
boolean
; 기본값은 true
입니다.
true
설정하면 웹 애플리케이션이 대상 머신에 병렬로 배포됩니다.
ResourceFilteringMethod
-
컴퓨터 선택 기준
string
; 허용되는 값: machineNames
(컴퓨터 이름), tags
. 기본값은 machineNames
입니다.
선택 사항. 컴퓨터 이름 또는 태그를 제공하여 컴퓨터의 하위 집합을 지정합니다.
MachineFilter
-
머신에 배포
string
;
이 입력은 컴퓨터 그룹에만 유효하며 컴퓨터 또는 출력 변수의 플랫 목록에 대해서는 아직 지원되지 않습니다.
dbserver.fabrikam.com, webserver.fabrikam.com, 192.168.12.34
같은 Role:DB; OS:Win8.1
또는 태그와 같은 컴퓨터 목록을 지정합니다. 여러 태그가 제공되면 지정된 태그가 있는 모든 컴퓨터에서 작업이 실행됩니다. Azure 리소스 그룹의 경우 가상 머신의 이름(예: ffweb, ffdb
)을 지정합니다. 기본값은 모든 컴퓨터에서 작업을 실행합니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.
출력 변수
없음.
비고
중요합니다
이 작업은 더 이상 사용되지 않습니다. WinRM - Viual Studio Marketplace를 사용하여 IIS 웹앱 배포를 사용합니다.