Posts
Web Deploy - Dump remote available backups
如要使用 Web Deploy 將遠端可以使用的備份資訊 dump 出來,可以指定 Web Deploy 使用 dump 操作,source 使用 backupManager,帶入要查詢的站台名稱。
透過 Remote Agent Service 去做遠端電腦連線的話,dest 這邊要使用 computerName provider setting 去指定遠端電腦的位置。
msdeploy.exe -verb:dump -source:backupManager=<SourceSite>,computerName=<DestServer> 如果要透過 Web Management Service 去做遠端電腦連線的話,則 dest 這邊要使用 wmsvc provider setting 去指定遠端電腦的位置。
msdeploy.exe -verb:dump -source:backupManager=<SourceSite>,wmsvc=<DestServer>,userName=<UserName>,password=<Password> -allowUntrusted
read morePosts
Web Deploy - Dump local available backups
如要使用 Web Deploy 將本地可以使用的備份資訊 dump 出來,可以指定 Web Deploy 使用 dump 操作,source 使用 backupManager,帶入要查詢的站台名稱即可。
msdeploy.exe -verb:dump -source:backupManager=<SourceSite>
read morePosts
Web Deploy - Dump remote site
如要使用 Web Deploy 將遠端站台資訊 dump 出來,可以指定 Web Deploy 使用 dump 操作 ,因為站台的指定是用 appHostConfig provider,所以將 source 指定為 appHostConfig provider,並帶入站台的名稱。
透過 Remote Agent Service 去做遠端電腦連線的話,dest 這邊要使用 computerName provider setting 去指定遠端電腦的位置。
msdeploy -verb:dump -source:appHostConfig="<SourceSite>",computerName=<SourceServer> 如果要透過 Web Management Service 去做遠端電腦連線的話,則 dest 這邊要使用 wmsvc provider setting 去指定遠端電腦的位置。
msdeploy -verb:dump -source:appHostConfig="<SourceSite>",wmsvc=<DestServer>,userName=<UserName>,password=<Password> -allowUntrusted
read morePosts
Web Deploy - Dump local site
如要使用 Web Deploy 將本地站台資訊 dump 出來,可以指定 Web Deploy 使用 dump 操作,因為站台的指定是用 appHostConfig provider,所以將 source 指定為 appHostConfig provider,並帶入站台的名稱即可。
msdeploy -verb:dump -source:appHostConfig="<SourceSite>"
read morePosts
Web Deploy - Dump remote server
如要使用 Web Deploy 將遠端 server 資訊 dump 出來,可以指定 Web Deploy 使用 dump 操作,將 source 指定為 WebServer provider。
透過 Remote Agent Service 去做遠端電腦連線的話,dest 這邊要使用 computerName provider setting 去指定遠端電腦的位置。
msdeploy -verb:dump -source:webServer,computerName=<DestServer> 如果要透過 Web Management Service 去做遠端電腦連線的話,則 dest 這邊要使用 wmsvc provider setting 去指定遠端電腦的位置。
msdeploy -verb:dump -source:webServer,wmsvc=<DestServer>,userName=<UserName>,password=<Password> -allowUntrusted
read morePosts
Web Deploy - Dump local server
如要使用 Web Deploy 將本地 server 資訊 dump 出來,可以指定 Web Deploy 使用 dump 操作,並將 source 指定為 WebServer provider 即可。
msdeploy -verb:dump -source:webServer
read morePosts
Web Deploy - Web Deploy Command Line
Web Deploy 支援命令列操作,在 Web Deploy 安裝完後,Web Deploy command line 程式會被放置於 %ProgramFiles%\IIS\Microsoft Web Deploy V3\ 下。
其 Syntax 如下:
msdeploy.exe -verb:<verbName> -source:<provider>[=<pathToProviderObject> [,<providerSetting>=<providerSettingValue>]] [-dest:<provider>[=<pathToProviderObject> [,<providerSetting>=<providerSettingValue>]] ] [-<MSDeployOperationSetting> ...] -verb 參數後面接的是 verb 的名稱,指定 Web Deploy 來源物件或是目的物件要處理的動作。可以是 dump、sync、delete、getDependencies、getSystemInfo。
-source 參數後面接的是 provider,指定來源端的資料物件。
-dest 參數後面接的是 provider,指定目的端的資料物件。
Provider 後面可以接 provider setting 針對 provider 做些設定,可以用的 provider setting 有:
authType computerName encryptPassword getCredentials ignoreErrors includeAcls password storeCredentials tempAgent userName wmsvc 比較常用的為 userName、password、computerName,當要指定遠端 provider 時會用需要設定。
命令列最後帶的參數為 operation setting,可針對整個操做作些設定,可以使用的設定有:
allowUntrusted appHostConfigDir declareParam declareParamFile disableLink disableRule disableSkipDirective enableLink enableRule enableSkipDirective postSync preSync removeParam replace retryAttempts retryInterval setParam setParamFile showSecure skip unicode useCheckSum verbose webServerDir whatif xml xpath 其中比較常用的大概就是 disableRule、enableRule、postSync、preSync、retryAttempts、retryInterval、setParam、setParamFile、useCheckSum、whatif 這幾個參數。
read morePosts
Web Deploy - Web Deploy Rules
Web Deploy 提供許多不同的 Rule,像是:
AboFilter AnonymousUser ApplicationExistsRule AppPoolIdentity AppRootNormalize BlockHarmfulDeleteOperations BlockUnsupportedDeleteOperations ClassicAppPoolProtectRule CreateApplicationRule CrossPlatformRule DependencyCheckAppPoolExists DependencyCheckFailOnError DependencyCheckFailOnWarning DependencyCheckInUse DoNotDeleteRule EnvironmentVariableNormalize IgnoreFileLastWriteTime IISConfigFrom64To32 MetakeyToIIS6 Parameterization SchemaSection SkipInvalidSource SkipNewerFilesRule SkipUNC SyncGeneral SyncXP UrlScanSkipIncompat WarnForEncryptedDataRule XpIsapis 這些 Rule 能讓我們更改 sync operation 的行為。
這些 Rule 中以 DoNotDeleteRule 較常使用,能用來決定 sync 時是否刪除多餘的檔案。
Link Web Deploy Rules
read morePosts
Web Deploy - Web Deploy Operations
Web Deploy 支援 dump、sync、delete、GetDependencies、GetSystemInfo 這幾種不同的操作。
dump 操作用於取得指定來源的資訊。
sync 操作用於將資料從來源端傳送至目的端。
delete 操作用於刪除指定目的端物件。
GetDependencies 操作用於回傳 Web Deploy 無法傳送的 Dependencies,這些 Dependencies 必須要自己手動處理。
GetSystemInfo 操作用於回傳系統資訊。
read morePosts
Web Deploy - Web Deploy Providers
Web Deploy Provider 主要是用來決定來源端或是目的端的資料要怎麼處理。
可以用的 Providers 有:
Web Deploy appHostConfig Provider Web Deploy appHostSchema Provider Web Deploy appPoolConfig Provider Web Deploy appPoolEnable32Bit Provider Web Deploy appPoolNetFx Provider Web Deploy appPoolPipeline Provider Web Deploy archiveDir Provider Web Deploy auto Provider Web Deploy cert Provider Web Deploy comObject32 Provider Web Deploy comObject64 Provider Web Deploy contentPath Provider Web Deploy createApp Provider Web Deploy dbFullSql Provider Web Deploy dbMySql Provider Web Deploy dbSqlite Provider Web Deploy dirPath Provider Web Deploy fcgiExtConfig Provider Web Deploy filePath Provider Web Deploy gacAssembly Provider Web Deploy gacInstall Provider Web Deploy iisApp Provider Web Deploy machineConfig32 Provider Web Deploy machineConfig64 Provider Web Deploy manifest Provider Web Deploy metaKey Provider Web Deploy package Provider Web Deploy recycleApp Provider Web Deploy regKey Provider Web Deploy regValue Provider Web Deploy rootWebConfig32 Provider Web Deploy rootWebConfig64 Provider Web Deploy runCommand Provider Web Deploy setAcl Provider Web Deploy urlScanConfig Provider Web Deploy webApp Provider Web Deploy webServer Provider Web Deploy webServer60 Provider 比較常用的有 appHostConfig、appPoolConfig、contentPath、createApp、dbFullSql、manifest、package、recycleApp、runCommand 這幾個 Provider。appHostConfig Provider 主要用來做站台的處理、appPoolConfig 做 Application Pool 的處理、contentPath 做站台內容的處理、createApp 做網站應用程式建立的處理、dbFullSql 做 MsSQL 的處理、manifest 做自定義內容的處理、package 做 package 的處理、recycleApp 做 Application Pool 回收的處理、runCommand 做命令執行的處理。
read more