IISWebAppDeployment@1 - IIS Web 應用程式部署 (已淘汰) v1 工作
使用此工作來使用 MSDeploy 部署 IIS Web 應用程式,然後建立或更新網站和應用程式集區。
重要
此工作已被取代,並將于 2024 年 1 月 31 日淘汰。 使用 WinRM 使用 IIS Web 應用程式部署 - Viual Studio Marketplace。
使用此工作來使用 MSDeploy 部署 IIS Web 應用程式,然後建立或更新網站和應用程式集區。
Syntax
# 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.
# IIS Web App deployment (Deprecated) v1
# Deploy by MSDeploy, create/update website & 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 連線的通訊協定, (s) 。 預設值為 HTTPS
。
TestCertificate
-
測試憑證
boolean
. 選擇性。 使用 時機 WinRMProtocol = Https
。 預設值:true
。
選取選項,以略過受信任的憑證授權單位單位驗證電腦憑證的真實性。 WinRM HTTPS
通訊協定需要 參數。
WebDeployPackage
-
Web Deploy 套件
string
. 必要。
指定目的電腦上或 UNC 路徑上的 WEB Deploy (MSDeploy) zip 檔案的位置, \\BudgetIT\WebDeploy\WebDeployPackage.zip
例如 。 UNC 路徑應該可供電腦的系統管理員帳戶存取。 也支援環境變數,例如 $env:windir
、 $env:systemroot
和 $env:windir\FabrikamFibre\Web
。
WebDeployParamFile
-
Web Deploy 參數檔案
string
.
指定目的機器或 UNC 路徑上參數檔案的位置。 參數檔案可用來覆寫 Web 應用程式組態設定,例如 IIS Web 應用程式名稱或資料庫連接字串。
OverRideParams
-
覆寫參數
string
.
此處指定的參數會覆寫 MSDeploy zip 檔案和參數檔案中的參數。 若要覆寫多個參數,請使用行分隔符號。
例如,"IIS Web Application Name"="Fabrikam"
或 "ConnectionString"="Server=localhost;Database=Fabrikam;"
。
CreateWebSite
-
建立或更新網站
boolean
. 預設值:false
。
指定建立網站或更新現有網站的選項。
WebSiteName
-
網站名稱
string
. 當 CreateWebSite = true
時為必要。
指定如果 IIS 網站不存在,將會建立的 IIS 網站名稱,如果 IIS 伺服器上已經存在,則會更新它。 網站的名稱應該與 Web 部署 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 系結,或網站具有安全通訊端層 (SSL) 系結的 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
時為必要。
指定網站將使用之安全通訊端層憑證的指紋。 憑證應該已安裝在電腦上,並存在於 [本機電腦個人] 存放區之下。
CreateAppPool
-
建立或更新應用程式集區
boolean
. 預設值:false
。
指定建立應用程式集區或更新現有應用程式集區的選項。
AppPoolName
-
名字
string
. 當 CreateAppPool = true
時為必要。
指定要建立或更新的 IIS 應用程式集區名稱。 現有的應用程式集區將會以指定的設定進行更新。
DotNetVersion
-
.NET 版本
string
. 當 CreateAppPool = true
時為必要。 允許值:v4.0
、v2.0
、No Managed Code
。 預設值:v4.0
。
指定這個應用程式集區載入的.NET Framework版本。 如果指派給此應用程式集區的應用程式未包含 Managed 程式碼,請從清單中選取 [無 Managed 程式碼 ] 選項。
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
,則會在目的電腦上平行部署 Web 應用程式。
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
。 預設會在所有機器中執行工作。
工作控制選項
除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制項選項和一般工作屬性。
輸出變數
無。
備註
規格需求
需求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
執行于 | Agent、DeploymentGroup |
要求 | 無 |
Capabilities | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任何 |
Settable 變數 | 任何 |
代理程式版本 | 1.91.0 或更新版本 |
工作類別 | 部署 |