Below you will find pages that utilize the taxonomy term “Web Deploy”
Posts
Web Deploy - Delete local site content
如要使用 Web Deploy 刪除本地站台內容,可以指定 Web Deploy 使用 delete 操作,dest 使用 contentPath provider,並帶入要刪除的 content 即可。
msdeploy -verb:delete -dest:contentPath=<ContentPath>
read morePosts
Web Deploy - Delete remote app pool
如要使用 Web Deploy 刪除遠端 application pool,可以指定 Web Deploy 使用 delete 操作,dest 使用 appPoolConfig provider,並帶入要刪除的 application pool 名稱,及用 computerName provider setting 指定遠端電腦的位置。
msdeploy –verb:delete –dest: appPoolConfig ="<DestAppPool>",computerName=<DestServer>
read morePosts
Web Deploy - Delete local app pool
如要使用 Web Deploy 刪除本地 application pool,可以指定 Web Deploy 使用 delete 操作,dest 使用 appPoolConfig provider,並帶入要刪除的 application pool 名稱即可。
msdeploy –verb:delete –dest: appPoolConfig ="<DestAppPool>"
read morePosts
Web Deploy - Delete remote site
如要使用 Web Deploy 刪除遠端站台,可以指定 Web Deploy 使用 delete 操作,dest 使用 appHostConfig provider,並帶入要刪除的站台名稱,及用 computerName provider setting 指定遠端電腦的位置。
msdeploy –verb:delete –dest:apphostconfig="<DestSite>",computerName=<DestServer>
read morePosts
Web Deploy - Delete local site
如要使用 Web Deploy 刪除本地站台,可以指定 Web Deploy 使用 delete 操作,dest 使用 appHostConfig provider,並帶入要刪除的站台名稱即可。
msdeploy –verb:delete –dest:apphostconfig="<DestSite>"
read morePosts
Web Deploy - Sync local package to remote site and exclude specified file
如要使用 Web Deploy 將 Web Deploy Package 佈署到遠端站台並忽略同步指定的檔案,可以指定 Web Deploy 使用 sync 操作,source 使用 package provider,帶入 Web Deploy Package 的檔案位置,dest 這邊使用 appHostConfig,指定要佈署的本地站台,用 skip operation setting 指定 objectname 為 filePath,absolutepath 帶入要忽略同步的檔案位置。
透過 Remote Agent Service 去做遠端電腦連線的話,dest 這邊要使用 computerName provider setting 去指定遠端電腦的位置。
msdeploy -verb:sync -source:package=<Package> -dest:appHostConfig="<DestSite>",computerName=<DestServer> -skip:objectname='filePath',absolutepath='<FilePath>'
read morePosts
Web Deploy - Stop site and sync local package to remote site
如要使用 Web Deploy 將 Web Deploy Package 佈署到遠端站台,且要在佈署前停止 IIS,在佈署後啟動 IIS (Sop site => Sync local package to remote site => Start site )。可以指定 Web Deploy 使用 sync 操作,presync 指定佈署前要運行的命令 (以這邊來說就是 appcmd.exe stop apppool ),postsync 指定佈署後要運行的命令 (以這邊來說就是 appcmd.exe start apppool ),source 使用 package provider,帶入 Web Deploy Package 的檔案位置,dest 這邊使用 appHostConfig,指定要佈署的本地站台,及用 computerName provider setting 指定遠端電腦的位置即可。
透過 Remote Agent Service 去做遠端電腦連線的話,dest 這邊要使用 computerName provider setting 去指定遠端電腦的位置。
msdeploy -verb:sync -presync:runCommand="%windir%\system32\inetsrvppcmd.exe stop apppool <DestSite>",successReturnCodes=0,waitinterval=15000,computerName=<DestServer> -source:package=<Package> -dest:appHostConfig="<DestSite>",computerName=<DestServer> -postsync:runCommand="%windir%\system32\inetsrvppcmd.
read morePosts
Web Deploy - Restart remote IIS
如要使用 Web Deploy 重啟遠端 IIS,可以指定 Web Deploy 使用 sync 操作,source 使用 runcommand,dest 使用 runcommand,並帶入要運行的遠端命令(以這邊來說就是用 iisreset /restart 去重啟 IIS 的命令),及用 computerName provider setting 指定遠端電腦的位置。
msdeploy -verb:sync -source:runcommand -dest:runCommand="iisreset /restart",waitinterval=15000,computerName=<DestServer>
read morePosts
Web Deploy - Start remote IIS
如要使用 Web Deploy 啟動遠端 IIS,可以指定 Web Deploy 使用 sync 操作,source 使用 runcommand,dest 使用 runcommand,並帶入要運行的遠端命令(以這邊來說就是用 iisreset /start 去啟動 IIS 的命令),及用 computerName provider setting 指定遠端電腦的位置。
msdeploy -verb:sync -source:runcommand -dest:runCommand="iisreset /start",computerName=<DestServer>
read morePosts
Web Deploy - Stop remote IIS
如要使用 Web Deploy 停止遠端 IIS,可以指定 Web Deploy 使用 sync 操作,source 使用 runcommand,dest 使用 runcommand,並帶入要運行的遠端命令(以這邊來說就是用 iisreset /stop 去停止 IIS 的命令),及用 computerName provider setting 指定遠端電腦的位置。
msdeploy -verb:sync -source:runcommand -dest:runCommand="iisreset /stop",computerName=<DestServer>
read morePosts
Web Deploy - Start remote application
如要使用 Web Deploy 去啟動遠端 Application,可以指定 Web Deploy 使用 sync 操作,source 使用 recycleApp,dest 使用 recycleApp,並帶入要回收的 Application,且指定 recycleMode 為 StartAppPool。
透過 Remote Agent Service 去做遠端電腦連線的話,dest 這邊要使用 computerName provider setting 去指定遠端電腦的位置。
msdeploy -verb:sync -source:recycleApp -dest:recycleApp="<DestApp>",recycleMode="StartAppPool", computerName=<DestServer> 如果要透過 Web Management Service 去做遠端電腦連線的話,則 dest 這邊要使用 wmsvc provider setting 去指定遠端電腦的位置。
msdeploy -verb:sync -source:recycleApp -dest:recycleApp="<DestApp>",recycleMode="StartAppPool",wmsvc=<DestServer>,userName=<UserName>,password=<Password> -allowUntrusted
read morePosts
Web Deploy - Start local application
如要使用 Web Deploy 啟動本地 Application,可以指定 Web Deploy 使用 sync 操作,source 使用 recycleApp,dest 使用 recycleApp,並帶入要啟動的 Application,且指定 recycleMode 為 StartAppPool。
msdeploy -verb:sync -source:recycleApp -dest:recycleApp="<DestApp>",recycleMode="StartAppPool"
read morePosts
Web Deploy - Stop remote application
如要使用 Web Deploy 停止遠端 Application,可以指定 Web Deploy 使用 sync 操作,source 使用 recycleApp,dest 使用 recycleApp,並帶入要回收的 Application,指定 recylceMode 為 StopAppPool。
透過 Remote Agent Service 去做遠端電腦連線的話,dest 這邊要使用 computerName provider setting 去指定遠端電腦的位置。
msdeploy -verb:sync -source:recycleApp -dest:recycleApp="<DestApp>",recycleMode="StopAppPool" , computerName=<DestServer> 如果要透過 Web Management Service 去做遠端電腦連線的話,則 dest 這邊要使用 wmsvc provider setting 去指定遠端電腦的位置。
msdeploy -verb:sync -source:recycleApp -dest:recycleApp="<DestApp>",recycleMode="StopAppPool",wmsvc=<DestServer>,userName=<UserName>,password=<Password> -allowUntrusted
read morePosts
Web Deploy - Stop local application
如要使用 Web Deploy 停止本地 Application,可以指定 Web Deploy 使用 sync 操作,source 使用 recycleApp,dest 使用 recycleApp,並帶入要回收的 Application,且指定 recycleMode 為 StopAppPool。
msdeploy -verb:sync -source:recycleApp -dest:recycleApp="<DestApp>",recycleMode="StopAppPool"
read morePosts
Web Deploy - Recycle remote application
如要使用 Web Deploy 回收遠端 Application,可以指定 Web Deploy 使用 sync 操作,source 使用 recyleApp,dest 使用 recycleApp,並帶入要回收的 Application。
透過 Remote Agent Service 去做遠端電腦連線的話,dest 這邊要使用 computerName provider setting 去指定遠端電腦的位置。
msdeploy -verb:sync -source:recycleApp -dest:recycleApp="<DestApp>",computerName=<DestServer> 如果要透過 Web Management Service 去做遠端電腦連線的話,則 dest 這邊要使用 wmsvc provider setting 去指定遠端電腦的位置。
msdeploy -verb:sync -source:recycleApp -dest:recycleApp="<DestApp>",wmsvc=<DestServer>,userName=<UserName>,password=<Password> -allowUntrusted
read morePosts
Web Deploy - Recycle local application
如要使用 Web Deploy 回收本地 Application,可以指定 Web Deploy 使用 sync 操作,source 使用 recyleApp,dest 使用 recycleApp,並帶入要回收的 Application。
msdeploy -verb:sync -source:recycleApp -dest:recycleApp="<DestApp>"
read morePosts
Web Deploy - Restore remote site to last backup
如要使用 Web Deploy 還原遠端站台至最後的備份,可以指定 Web Deploy 使用 sync 操作,source 使用 backupManager,dest 使用 backupManager,指定要還原的站台,並用 useLatest = true 指定使用最後一次備份,及用 computerName provider setting 指定遠端電腦的位置。
msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=<siteName>,useLatest=true, computerName=<DestServer>
read morePosts
Web Deploy - Restore local site to last backup
如要使用 Web Deploy 還原本地站台至最後的備份,可以指定 Web Deploy 使用 sync 操作,source 使用 backupManager,dest 使用 backupManager,指定要還原的站台,並用 useLatest = true 指定使用最後一次備份。
msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=<siteName>,useLatest=true
read morePosts
Web Deploy - Restore remote site to specified backup
如要使用 Web Deploy 還原遠端站台至指定備份,可以指定 Web Deploy 使用 sync 操作,source 使用 backupManager,dest 使用 backupManager,並指定要還原的站台以及要用來還原的備份檔,及用 computerName provider setting 指定遠端電腦的位置。
msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=<DestSite>/<BackupFile>, computerName=<DestServer>
read morePosts
Web Deploy - Restore local site to specified backup
如要使用 Web Deploy 還原本地站台至指定備份,可以指定 Web Deploy 使用 sync 操作,source 使用 backupManager,dest 使用 backupManager,並指定要還原的站台以及要用來還原的備份檔。
msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=<DestSite>/<BackupFile>
read morePosts
Web Deploy - Backup remote site
如要使用 Web Deploy 備份本地站台,可以指定 Web Deploy 使用 sync 操作,source 使用 backupManager,dest 也使用 backupManager,並指定要備份的站台名稱。
透過 Remote Agent Service 去做遠端電腦連線的話,dest 這邊要使用 computerName provider setting 去指定遠端電腦的位置。
msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=<DestSite>,computerName=<DestServer> 如果要透過 Web Management Service 去做遠端電腦連線的話,則 dest 這邊要使用 wmsvc provider setting 去指定遠端電腦的位置。
msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=<DestSite>,wmsvc=<DestServer>,userName=<UserName>,password=<Password> -allowUntrusted
read morePosts
Web Deploy - Backup local site
如要使用 Web Deploy 備份本地站台,可以指定 Web Deploy 使用 sync 操作,source 使用 backupManager,dest 也使用 backupManager,並指定要備份的站台名稱。
msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=<DestSite>
read morePosts
Web Deploy - Sync remote site to local package
要用 Web Deploy 將遠端站台打包成 Web Deploy Package,可以指定 Web Deploy 使用 sync 操作,source 使用 appHostConfig provider,帶入要打包的站台名稱,及用 computerName provider setting 指定遠端電腦的位置,dest 使用 package provider,指定打包後的 Web Deploy Package 位置即可。
msdeploy -verb:sync -source:appHostConfig="<SourceSite>",computerName=<SourceServer> -dest: package=<Package>
read morePosts
Web Deploy - Sync local site to local package
要用 Web Deploy 將本地站台打包成 Web Deploy Package,可以指定 Web Deploy 使用 sync 操作,source 使用 appHostConfig provider,帶入要打包的站台名稱,dest 使用 package provider,指定打包後的 Web Deploy Package 位置即可。
msdeploy -verb:sync -source:appHostConfig="<SourceSite>" -dest: package=<Package>
read morePosts
Web Deploy - Sync local package to remote site
如要使用 Web Deploy 將 Web Deploy Package 佈署到遠端站台,可以指定 Web Deploy 使用 sync 操作,source 使用 package provider,帶入 Web Deploy Package 的檔案位置,dest 這邊使用 appHostConfig,指定要佈署的本地站台,及用 computerName provider setting 指定遠端電腦的位置即可。
msdeploy -verb:sync -source:package=<Package> -dest:appHostConfig="<SourceSite>",computerName=<SourceServer>
read morePosts
Web Deploy - Sync local package to local site
如要使用 Web Deploy 將 Web Deploy Package 佈署到本地站台,可以指定 Web Deploy 使用 sync 操作,source 使用 package provider,帶入 Web Deploy Package 的檔案位置,dest 這邊使用 appHostConfig,指定要佈署的本地站台即可。
msdeploy -verb:sync -source:package=<Package> -dest:appHostConfig="<DestSite>"
read morePosts
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 morePosts
>-
Web Deploy 是一 client-server 架構的工具程式,能用來同步 IIS 內容與設定,簡化網頁應用程式或是網站的佈署。 具有以下幾個特點:
與 IIS Manager、Visual Studio 無縫整合,能建立 package 並佈署到本地或是遠端機器 整合 WebMatrix 與 Web Platform Installer 無縫整合 網頁應用程式打包 – 能夠打包網頁應用程式或是整個站台,包含關聯的資料庫 – 能夠打包 ACLs、COM、GAC 與註冊檔設定 – 支援 live 伺服器與壓縮後的 package 當成來源或是目的端 網頁應用程式佈署 – 支援非 Admin 權限的網頁應用程式佈署 – 支援參數化佈署,能在佈署時替換檔案中的字串 – 整合 IIS Web Management Service 做非 Admin 的佈署 網站伺服器同步 – 能夠同步整個網頁伺服器、網頁站台、或是網頁應用程式 – 只同步變動的資料 – 能夠在同步時偵測遺失的 dependencies – 同步時自動收集 IIS 設定、SSL certificates、與 ASP.NET 設定 變動前自動備份站台 – 管理員可以設定啟用自動備份 – 使用者可以直接還原站台 支援 CommandLine、PowerShell Cmdlets、與 API Web Deploy 在運作上如下圖所示:
read morePosts
Web Deploy - Install setup web deploy
Web Deploy 程式可至微軟網站下載。
下載完點擊安裝。
安裝類型建議選取 Custom,確認一下要安裝的元件。
這邊的元件有 IIS Manager UI 模組,安裝完會將 Web Deploy 部分功能整合在 IIS Manager。比較重要的需要確認 Management Service 與 Remote Agent Service 的安裝狀況,因為 Web Deploy 佈署時可能會走這兩條路 ,所以需要視需要將之勾選安裝。
如果剛有選取 Manager Service 或是 Remote Agent Service,安裝完就可以看到系統內會有新增對應的服務(Web Management Service 與 Web Deployment Agent Service),我們需要確保服務是正常啟用的。
除了確定服務啟動外,也可以開啟瀏覽器訪問 http://localhost/MSDEPLOYAGENTSERVICE 去驗證 Remote Agent Service 是否正常運作。
至於 Manager Service 這邊,可以開啟 IIS Manager 的 Management Service。
確定這邊的 Enable remote connections 是勾選的,以及 Port 號正確,若不修改就是走預設的 8172 Port。
如果要使用非 Admin 權限佈署,可以開啟 IIS Manager Permissions。
read morePosts
Web Deploy - Generate Web Deploy package with MsBuild
要使用 MsBuild 建置 Web Deploy package,可以在 MsBuild 建置時用 /t:package 告知要產生 Web Deploy package,並帶上 PackageLocation 參數指定產出的 Package 放置位置。
msbuild <ProjectFile|SolutionFile> /p:Configuration=<Configuration>; Platform="<Platform>"; PackageLocation="<PackageLocation>" /t:package 建置完成就可以在指定的位置看到產出的 Web Deploy package。
read morePosts
Web Deploy - Generate Web Deploy package with Visual Studio
要使用 Visual Studio 建立 Web Deploy package,首先在方案總管的專案上按下滑鼠右鍵,點選 Publish... 滑鼠右鍵選單選項。
在 Publish Web 視窗中選取 Cuetom Profile。
設定 Profile 的名稱。
接著 Publish method 選定 Web Deploy Package,設定 Package 放置的位置以及要佈署的站台名稱。
再來選定要建置的 Configuration。
進行發佈。
發佈完成就可以在指定的位置看到產出的 Web Deploy package。
read morePosts
Web Deploy - Publish with MsBuild
要使用 MsBuild 建置專案並佈署,可以在 MsBuild 建置時帶上 DeployOnBuild 參數告知 MsBuild 在建置完要做佈署,並帶上 PublishProfile 參數指定要使用的 Publish Profile。
msbuild <ProjectFile|SolutionFile> /p:Configuration=<Configuration>; Platform="<Platform>"; DeployOnBuild=true; PublishProfile=<PublishProfile> 若有需要可加帶 UserName 參數指定帳號,加帶 Password 參數指定密碼。
msbuild <ProjectFile|SolutionFile> /p:Configuration=<Configuration>; Platform="<Platform>"; DeployOnBuild=true; PublishProfile=<PublishProfile>; UserName=<UserName>; Password=<Password> 或是加帶其他參數,像是加帶 EnableMSDeployAppOffline 參數使用 AppOffline rule 做佈署,讓 Web deploy 在做發佈的同時幫你放上 App_Offline 頁面。
msbuild <ProjectFile|SolutionFile> /p:Configuration=<Configuration>; Platform="<Platform>"; DeployOnBuild=true; PublishProfile=<PublishProfile>; UserName=<UserName>; Password=<Password>; AllowUntrustedCertificate=True; EnableMSDeployAppOffline=true
read morePosts
Web Deploy - Publish with Visual Studio
要直接用 Visual Studio 使用 Web Deploy 去做佈署,首先在方案總管的專案上按下滑鼠右鍵,點選 Publish... 滑鼠右鍵選單選項。
在 Publish Web 視窗中選取 Cuetom Profile。
設定 Profile 的名稱。
接著 Publish method 選定 Web Deploy,設定要佈署的 Server 及帳號資訊。
再來選定要建置的 Configuration。
若想在發佈前查看一下會做哪些更動,可透過預覽的功能查看。
沒問題就可以進行發佈的動作。
read morePosts
Web Deploy - Synchronize IIS
若要做 IIS 之間的同步,我們可以使用 Web Deploy。
它可以做到 Local To Remote。
msdeploy -verb:sync -source:webServer -dest:webServer,computerName=Server2 Remote To Local。
msdeploy -verb:sync -source:webServer,computerName=Server2 -dest:webServer 以及 Remote To Remote。
msdeploy -verb:sync -source:webServer,computerName=Server2 -dest:webServer,computerName=Server3 簡單來說就只是用 msdeploy 帶入 sync verb,並指定 source 與 dest。source 與 dest若是針對整個 Server 同步則帶入 webServer,若是遠端電腦則要多帶入 computerName。
像是如果我要將本地的 IIS 整個同步到 192.168.0.2 的 IIS,就要像下面這樣:
msdeploy -verb:sync -source:webServer -dest:webServer,computerName=192.168.0.2 命令執行後 Web Deploy 即會將 WebSite、Application Pool、Binding、File、以及 Setting 等在指定的電腦間進行同步,十分的方便.
Link Synchronize IIS : The Official Microsoft IIS Site Web Deploy sync Operation
read morePosts
Web Deploy - Import Package
要將 Application 或 Server 的匯出檔匯入 IIS,我們可以透過 Web Deploy 的匯入功能來做。先確定 Server 有安裝 Web Deploy,安裝後在 IIS 的 Application 或是 Server 節點上按下滑鼠右鍵,在彈出的滑鼠右鍵快顯選單中應該會多出 Deploy 的功能選項。這邊點選 [Deploy | Import Server Package…] 選單選項。
{% img /images/posts/ImportWebDeployPackage/1.png %}
點選後會彈出匯入對話框,選取要匯入的匯出檔。
{% img /images/posts/ImportWebDeployPackage/2.png %}
{% img /images/posts/ImportWebDeployPackage/3.png %}
{% img /images/posts/ImportWebDeployPackage/4.png %}
接著要選取要匯入的內容。確定後點選 Next 按鈕繼續。
{% img /images/posts/ImportWebDeployPackage/5.png %}
接著會彈出確認對話框,確認是否要進行匯入的動作,確定無誤則按下 OK 按鈕繼續。
{% img /images/posts/ImportWebDeployPackage/6.png %}
匯入完成會帶出 Summary 資訊,按下 Finish 按鈕即可。
{% img /images/posts/ImportWebDeployPackage/7.png %}
對話框關閉後我們可以看到網站已被正常的匯入。
{% img /images/posts/ImportWebDeployPackage/8.
read morePosts
Web Deploy - Export package
要將 IIS 網站 Application 或 Server 匯出,我們可以透過 Web Deploy 的匯出功能來做。先確定 Server 有安裝 Web Deploy,安裝後在 IIS 的 Application 或是 Server 節點上按下滑鼠右鍵,在彈出的滑鼠右鍵快顯選單中應該會多出 Deploy 的功能選項。這邊點選 [Deploy | Export Server Package…] 選單選項。
{% img /images/posts/ExportWebDeployPackage/1.png %}
點選後會彈出匯出對話框,可選取要匯出的內容。確定後點選 Next 按鈕繼續。
{% img /images/posts/ExportWebDeployPackage/2.png %}
接著要設定參數的部份,設定完後一樣按下 Next 按鈕繼續。
{% img /images/posts/ExportWebDeployPackage/3.png %}
最後這邊要選取匯出的檔案位置。
{% img /images/posts/ExportWebDeployPackage/4.png %}
{% img /images/posts/ExportWebDeployPackage/5.png %}
選取完按下 Next 按鈕進行匯出。
{% img /images/posts/ExportWebDeployPackage/6.png %}
匯出完成會帶出 Summary 資訊。
{% img /images/posts/ExportWebDeployPackage/7.png %}
Link Export a Package through IIS Manager : The Official Microsoft IIS Site
read morePosts
Web Deploy - Automatic Backups
若想讓 Web Deploy 在 Deploy 時自動幫我們進行網站的備份,甚至是控管備份的數量,我們可以將 Web Deploy 的 Automatic Backups 功能啟用。
要啟用時我們需將 Server IIS 的 Configuration Editor 開啟,可以針對整台機器進行設定,或是針對 Site 進行設定,這邊視個人需求而定。
{% img /images/posts/WebDeployAutoBackup/1.png %}
Configuration Editor 開啟後,上方的 Section 記得切到 system.webServer/wdeploy/backup。接著將 enabled 與 turnedOn 設為 True,按下右側的 Apply 進行套用,即完成 Automatic Backups 功能開啟的動作。
{% img /images/posts/WebDeployAutoBackup/2.png %}
若有需要這邊我們也可以更改 backupPath 去設定備份的位置,或是更改 numberOfBackups 去設定備份保留的數量。
功能開啟後,只要透過 Web Deploy 進行佈署,Web Deploy 即會幫我們自動將 Application 備份。我們可以從 Web Deploy 的 Deploy 訊息看到該功能是否有成功的生效。
{% img /images/posts/WebDeployAutoBackup/3.png %}
若是在備份時失敗,Web Deploy 的 Deploy 訊息也會告知。
read more