透過Web deploy package將asp.net MVC網站發行及部署到IIS

簡單介紹Web Deploy Packeage的發行以及部署流程

在工作上還蠻常遇到不能直連正式主機發版本更新的客戶,而前人傳下來的發版方法是: 先發到一台測試主機上,再用人工比對的方式把有異動到的檔案複製到正式機。但這樣的作法除了比較花時間外,也容易有漏發檔案的狀況發生。

因此又另外研究Web Deploy Package的發版方式。


用Visual Studio發行

1.對要發行的專案點擊右鍵 > 發行(Publish)

2.選擇自訂(Custom)

3.輸入發行的名稱

4.Publish method我們使用Web Deploy Package

   Package location欄位選擇要儲存的路徑,zip檔名可以改成自己想要的檔名

   Site name輸入IIS上目標站台名稱

5.Configuration選擇要發行的組態(通常都是用Release,不過在工作上我會搭配Web.config File Transformation自訂不同的組態來發版)

   下面Databases的部分我是保持預設

6.最後確認沒問題後,就可以按發行啦

7.最後產出的檔案長這樣


用Web Deploy Tool將剛剛產出的Package部署到IIS上

在部署前,請先確定主機上有安裝Web Deploy
在建置環境時有發生一個小插曲,我已經裝了Web Deploy後,IIS卻沒出現部署的選項。看到這篇文章後才發現我IIS的管理服務沒安裝,裝上去後再將Web Deploy修復,部署的選項就出現了。原本以為IIS管理服務是遠端部署才要安裝,這部分就要請懂得人解答了。

1.對目標站台點擊右鍵 > 部署 > 匯入應用程式

2.選擇在上一段落產生出來的zip檔

3.這部分我保持預設

4.設定網站要放在哪個路徑下,這邊也能調整連線字串

5.如果直接裝在站台根目錄下,會跳出提示

6.若目標站台已經有檔案的話,會出現這個畫面

   第一個選項是直接更新上去

   而第二個選項會把不在package中的檔案刪除,其他部分會用更新的,如同第一個選項

7.按下一步後就會開始更新了

 

另外,也可以用Visual Studio產生的批次檔做安裝,在.deploy-readme中有詳細的介紹

開啟command line執行批次檔就可以安裝了,後面參數帶/T的會做模擬部署,可以看到有哪些檔案會更動,帶/Y就會直接部署上去了。/T與/Y不能同時使用

通常我都會另外寫個批次檔掛排程,先把package丟上去,之後排程在離峰時段自動更新網站


參考文章: 

ASP.NET MVC - 使用Web Deploy佈署MVC應用程式到IIS

 

拜讀了91大的文章,決定試著寫blog,把學習記錄留下來,也能藉由留言討論檢視自己的錯誤

第一次發文,還請多多指教