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