VisualStudio一鍵遠程部署到IIS以及自動備份部署包
以下操作中,服務器均為內網狀態,無需聯網
相關文章
VisualStudio發布(一):一鍵遠程部署至IIS以及自動備份部署包
VisualStudio發布(二):根據不同活動解決方案配置使用對應的動態鏈接庫
VisualStudio發布(三):解決WDeploy密碼過期導致的發布失敗
一、安裝WebPlatformInstaller
下載地址:
下載安裝包后在服務器上安裝
二、安裝WebDeploy
下載地址:
下載安裝包后在服務器上安裝,安裝時選擇將全部功能安裝
三、開啟服務器相關功能及服務
1.安裝功能
開啟服務器的“服務器管理器”,開啟添加功能和角色,一直下一步到“服務器角色”
安裝IIS管理腳本及工具和管理服務
2.打開服務
在任務管理器中查看,有沒有WMSVC(WEB管理服務)
沒有的話點擊下方的打開服務,找到“Web Managerment Service”服務,啟動類型設置為“自動”,然后重啟此服務
四、開啟IIS的管理服務
打開IIS管理器,點擊IIS主頁,打開“管理服務”。
停止WMSVC服務后:
勾選啟用遠程連接、標識憑據選擇“IIS管理器”、填寫服務器IP地址。
重新啟用WMSVC服務
五、添加IIS管理器用戶
打開IIS管理器,點擊IIS主頁,打開“IIS管理器用戶”。
添加一個用於遠程部署的用戶。
六、為站點或應用程序配置IIS管理器用戶
單擊站點,打開"IIS管理器權限"
點擊“允許用戶”,添加(五)中創建的IIS管理器用戶
七、開啟站點的WEB遠程部署功能
右擊站點名稱,開啟站點的WEB遠程部署功能
八、使用開發機VisualStudio進行遠程部署
發布時選擇WEB部署,填寫相關數據。
如果發布的是應用,則增加 /{應用名稱}
九、連接時可能遇到的問題
1.用戶權限問題
已使用 Web 管理服務連接到遠程計算機(“xxx”),但未能授權。請確保你使用了正確的用戶名和密碼、你連接的站點已存在並且憑據代表的用戶有權訪問該站點。
驗證第五步到第七步配置的有沒有問題。
2.遠程服務器處理請求出錯
Web 部署任務失敗。在遠程計算機上處理請求時出錯
確認安裝了WebPlatformInstaller。如果沒有安裝的話先卸載WebDeploy。然后依次安裝WebPlatformInstaller、WebDeploy。
重新走一遍流程。
十、開啟自動備份及相關配置
WebDeploy可以在發布時先自動壓縮部署文件為ZIP備份在服務器上,再進行遠程部署。
關於自動備份相關配置,推薦參考官方文檔
https://docs.microsoft.com/en-us/iis/publish/using-web-deploy/web-deploy-automatic-backups
簡單說一下
配置文件路徑:%windir%\system32\inetsrv\config\schema\BackupManagerSchema.xml
<wdeploy>
<backup enabled="true"
numberOfBackups="2"
backupPath="{sitePathParent}\{siteName}_siteBackups"
continueSyncOnBackupFailure="false">
<excludedProviders>
<provider name="dbFullSql" />
</excludedProviders>
<backupSettingsProvider
canSetEnabled="true"
canSetNumberOfBackups="true"
canSetContinueSyncOnBackupFailure="true"
canSetExcludedProviders="true" />
</backup>
</wdeploy>
主要參數:
(1)enabled:是否開啟自動備份
(2)numberOfBackups:備份保存的數量(如果備份的壓縮包超過數量,會從最舊的壓縮包進行滾動式刪除)
不填寫的話默認值為:4。
(3)backupPath:保存備份壓縮包的文件夾路徑
不填寫的話默認值為:"{sitePathParent}{siteName}_snapshots"。{sitePathParent}為站點文件夾的目錄,{siteName}為站點名稱
(4)canSetExcludedProviders:自動備份出錯時是否繼續發布
這樣遠程發布后
可以找到備份的部署包
附錄、參考文檔:
https://docs.microsoft.com/en-us/iis/publish/using-web-deploy/web-deploy-automatic-backups