在開發過程當中常常須要發佈到開發環境、測試環境或者預發佈環境上給其餘同事進行測試驗證效果等等,每次發佈都要備份,拷貝,修改配置文件等等重複操做很是的麻煩,效率大打折扣,而web部署提供了這樣的解決方案:在服務端安裝Web Deploy服務,由Web Deploy服務完成備份發佈等操做,今天小編就以圖文並茂的方式來完整介紹這一安裝部署的過程,具體有如下兩大部分:web
1、安裝IIS管理服務:打開服務器管理器 - 添加角色和功能 勾選web服務器(IIS)的管理服務選項 如圖(一),而後點擊下一步完成安裝數據庫
圖一windows
2、安裝Web Deploy V3.6 服務器
下載地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=43717測試
下載完以後直接安裝,我選擇的是徹底安裝選項網站
v3.5的下載地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=39277spa
3、啓動Web Deploy服務.net
Web Deploy服務安裝完畢以後通常默認狀況下是沒有啓動的,我遇到的狀況就是這樣,在更改配置以前必須向將Web Deploy服務中止,如圖二:code
圖二blog
更改服務配置的操做步驟: 打開IIS主頁 - 管理服務 - 更改配置:啓動遠程鏈接選項勾上 如圖(三)
圖三
4、開通防火牆入站規則的相應端口,若是在上一個步驟中你沒有更改端口,那麼默認就是8172,如圖四
圖四
圖五
6、設置目標站點的IIS管理器權限,如圖六
圖六
7、爲目標站點的根目錄文件夾添加LOCAL SERVICE用戶,並設爲徹底控制的權限,如圖七
圖七
8、開啓自動備份
默認狀況下deploy是沒有打開自動備份的,那麼開啓自動備份的方法以下:
一、打開windows的PowerShell 執行下面的命令轉到「%programfiles%\IIS\Microsoft Web Deploy V3\scripts」目錄
cd "C:\Program Files\IIS\Microsoft Web Deploy V3\scripts"
二、檢查當前PowerShell的執行策略,若是是Restricted 那麼須要將它改成 RemoteSigned
Get-Executionpolicy
//若是輸出爲:Restricted 那麼執行下面的命令進行修改執行策略
Set-Executionpolicy RemoteSigned
注意:上面命令會詢問你是否要更改執行策略,你根據提示輸入Y按回車
關於PowerShell的其餘設置能夠參照官方的文檔:https://technet.microsoft.com/zh-CN/library/hh847748.aspx
三、執行下面的命令加載腳本:
. .\BackupScripts.ps1
注意:若是加載成功,將沒有任何反應,若是加載失敗將會有紅色的提示語句;
四、經過TurnOn-Backups命令容許管理員開啓或關閉站點的自動備份功能,這至關於一個總閘開關。
容許配置全部的備份功能
TurnOn-Backups -On $true
禁用配置全部的備份功能
TurnOn-Backups -On $false
五、打開全部站點或者指定站點的自動備份功能
# 打開全部站點的備份功能 Configure-Backups -Enabled $true # 打開foo站點的備份功能 Configure-Backups -SiteName "foo" -Enabled $true
自動備份設置已經完成,關於跟多的自動備份設置請參照官方文檔:https://www.iis.net/learn/publish/using-web-deploy/web-deploy-automatic-backups
到此爲止在服務端上的操做就已經完成了,接下來以VS2015爲例介紹在客戶端上的操做。
1、在發佈以前咱們先來添加一個配置轉換,因爲本地的配置和服務器上的配置通常有所差別,因此添加一個配置轉換解決差別的問題,在添加配置轉換以前要先添加一個對應的解決方案配置,添加的方法如圖八所示:
圖八
2、解決方案配置通常按照發布的目標環境命名,這樣比較清晰是針對哪一個服務器環境的,而後在解決方案的站點根目錄下右鍵web.config文件,在彈出來的上下文菜單中添加配置轉換,如圖九:
圖九
最後的到多出了一個web.測試環境.config的文件如圖十:
圖十
3、在轉換配置文件中添加有差別的配置節點,通常來講數據庫鏈接,每一個服務器環境都是不同的,這裏就以connectionStrings這個節點爲例子簡單說明一下,有關使用 web.config 轉換的詳細信息,請訪問 http://go.microsoft.com/fwlink/?LinkId=125889,以下圖十一
圖十一
添加完成以後,您能夠右鍵web.測試環境.config文件在彈出的上下文菜單中預覽轉換後的結果,如圖十二
圖十二
4、發佈和發佈配置,右鍵web項目在上下文菜單中選擇發佈菜單,彈出的界面中選擇自定義,咱們這裏仍是輸入測試環境,如圖十三
圖十三
點擊肯定後會轉到選擇發佈方法的界面,這裏選擇 Web Deploy,如圖十四
圖十四
這裏面有幾個參數須要說明一下的:
一、服務器:測試環境的服務器IP地址,在這裏就是本文的第一部分介紹的服務器IP地址了
二、站點名稱:發佈的目標站點,這裏就是本文第一部分介紹的在服務端建立的DeployTest站點
三、用戶名:目標站點容許的用戶名,這裏就是本文第一部分介紹DeployTest站點添加的Test用戶
四、密碼:用戶名的密碼
五、目標URL:網站的主頁,這個選項是可選的
六、驗證鏈接:這個按鈕是用來驗證你填寫的參數是否正確,若是一切都正常,那麼點擊下一頁,進入到配置選擇頁,在這個操做界面要記得選擇對應的配置,那麼咱們選擇測試環境,如圖十五
圖十五
來到最後一個頁面就是預覽了,固然你能夠直接點擊發布,也能夠點擊預覽,選擇性地發佈,如圖十六
圖十六
點擊發布後系統開始鏈接服務器將對應的站點進行備份,而後再覆蓋站點,到這裏整個流程就已經完成了,謝謝您的關注和閱讀!