ASP.NET單鍵發行_問題除錯
主題
|
使用「單鍵發行」快速發行Web+資料庫
|
介紹
|
Visual Studio提供許多Web Application部署的方式,分別為Web Deploy、Web Deploy Package、FTP、File System等方式,本文章要介紹Web Deploy發行方式,使用Web Deploy可以大幅減少手動設定的步驟,這對Internet Information Services(簡稱IIS)不熟悉的新手將會是很大的幫助,而且也只會上傳有異動的程式檔案,這比FTP部署速度也比較快。
Web Deploy除了發佈檔案之外,也可以部署資料庫schema與資料、SQL script…等功能,再部署網站非常方便。
|
作者
|
姜志民
|
版本
|
1.0
|
產出日期
|
2017 / 05/ 30
|
1 目的
Visual Studio提供許多Web Application部署的方式,分別為Web Deploy、Web Deploy Package、FTP、File System等方式,本文章要介紹Web Deploy發行方式,使用Web Deploy可以大幅減少手動設定的步驟,這對Internet Information Services(簡稱IIS)不熟悉的新手將會是很大的幫助,而且也只會上傳有異動的程式檔案,這比FTP部署速度也比較快。
Web Deploy除了發佈檔案之外,也可以部署資料庫schema與資料、SQL script…等功能,再部署網站非常方便。
2 伺服器端-IIS
在有安裝IIS服務的Server上執行Microsoft Web Platform Installer,可至https://www.microsoft.com/web/downloads/platform.aspx下載。在右上角輸入「Web Deploy」,並安裝紅色框框相關的Web Deploy 3.6套件。
進入「控制台」-->「程式和功能」,選擇「Microsoft Web Deploy 3.6」在按「變更」。
將全部項目啟用。
進入「控制台」-->「系統管理工具」-->「服務」,確認「服務」是否有啟動。
在「開發人員端」進行發行可能會出現下圖錯誤,若帳號密碼正確,就有可能是「使用者帳戶控制(UAC)」造成的。
解決方式:在登錄檔(regedit)的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System底下,檢查是否有「LocalAccountTokenFilterPolicy」這個項目。若沒有手動按右鍵新增一個「DWORD(32-位元)值」並命名為「LocalAccountTokenFilterPolicy」,其數值資料為1。
3 開發人員端
在Visual Studio內開啟已存在專案,在專案名稱WebApplication1上按右鍵選擇「發行」。
按「自訂」。
Publish method選擇「Web Deploy」,再填入相關伺服器的IIS資料。
將開發環境的資料庫schema與資料自動同步到目的地伺服器端。按下「設定資料庫更新」。
「設定資料庫更新」內可以新增資料庫的SQL script。
在最後一個步驟「預覽」,可以預覽資料庫的SQL script,也可以看到只針對有異動的檔案上傳到伺服器,在遠端傳輸時可以大幅減少傳輸時間。
成功發行至伺服器可以在Visual Studio的輸出視窗看到下圖訊息。
4 結論
最常見的部署方式就是Ftp + 手動更新資料庫,這樣人工手動操作很容易出錯,尤其是資料庫schema最容易漏掉沒有更新到。若使用Web Deploy,可以免去資料庫schema與資料更新這些繁雜步驟,而且只針對有異動的檔案上傳到伺服器,在遠端傳輸時可以大幅減少傳輸時間。
沒有留言:
張貼留言