The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

使用 MSDeploy 部署網站時如何避免變更遠端目錄NTFS權限

由於我們許多專案都用 MSDeploy 進行部署,但最近因為 IIS 伺服器上的架構有所變更,卻引發專案進行部署時發生許多 NTFS 權限上的錯誤,也就是當網站部署之後,連本機系統管理者都無法透過檔案總管進入目錄的窘境,剛花了一個多小時研究,終於找到徹底解決此問題的方法。

... 繼續閱讀 ...

如何在「建置部署套件」或「單鍵發行」時一起發佈空目錄

上週公司有個同事遇到一個問題,就是他透過 Visual Studio 2010 的「單鍵發行」功能發佈網站,程式在執行時就會出錯,經我檢查之後發現原來他在網站的 App_Data 目錄下有建立一個必要的資料夾,此資料夾會存放執行時期寫入的資料,所以目錄不存在就會掛掉,但是 Visual Studio 2010 其實並不會發佈任何沒有檔案的目錄,因此要解決這個問題就必須特別處理一下。

... 繼續閱讀 ...

ASP.NET 網站專案如何利用 MSDeploy 工具進行部署

我之前寫過一篇〔如何使用 Visual Studio 2010 的「單鍵發行」功能〕文章,當時簡直挖到寶一樣,可惜最近又開始維護幾個多年前用 ASP.NET 2.0 建置的網站,當時是以 網站專案 (WebSite Project) 的專案類型開發的,因此 Visual Studio 2010 的「單鍵發行」功能就變的英雄無用武之地,還好透過 Visual Studio 2010 Web Deployment Projects (WDP) 可以將網站專案封裝起來,但是上週遇到一個怎樣都無法發行成功的問題,查了兩個小時才找到這原來是一個 Visual Studio 2010 ( 含 SP1 ) 的 Bug,使用的人要特別注意這個小問題。

... 繼續閱讀 ...

使用 MSDeploy 部署網站時如何避免刪除遠端網站的檔案

這陣子都在玩跟網站部署有關的相關技術,其中有一段一定要透過 MSDeploy 手動部署網站上去,但問題是在透過 MSDeploy 批次檔進行手動部署網站時,由於 MSDeploy 會自動比對遠端與本地端的檔案差異執行「雙向同步」,這反而造成了當遠端伺服器裡有新增的檔案(例如在 App_Data 下有動態新增的檔案),每次透過 MSDeploy 部署後那些不存在本地端的檔案全部都會被刪除,這是個大問題,而我也研究了好些時間才找到方法解決這個問題。

... 繼續閱讀 ...

使用 1-Click 自動部署網站時如何避免 Web.config 被更新

在上個月我曾經寫過一篇《 使用 MSDeploy 手動部署網站時如何避免 Web.config 被更新 》文章,那時是利用 Command Line 手動部署時可以加入一些參數排除一些不要部署的檔案,但手動畢竟還是手動,麻煩死了,今天研究出一個更漂亮的設定方式,可以透過 Visual Studio 專案檔 (*.csproj 或 *.vbproj) 的設定即可做到自動排除特定檔案或目錄,而且只要設定一次就能用在日後的所有專案裡,不管是使用 Visual Studio 2010 的 1-Click 單鍵部署或使用部署套件手動部署都適用。

... 繼續閱讀 ...

使用 MSDeploy 手動部署網站時如何避免 Web.config 被更新

使用 Web Deployment Tools 工具 ( 又稱 Web Deploy 或 MS Deploy ) 進行網站部署是在簡單不過的事,有興趣的人可以參考 介紹好用工具:Web Deployment Tool 1.0 ( 附心得筆記 ) 文章或 ASP.NET MVC 2 開發實戰 書籍【第11章 安裝部署】的說明,不過若更新網站時希望可以跳過更新一些重要檔案,例如 :Web.config 等,這時就必須加上特別的參數才行,這參數非常特別必須另做筆記才不會忘記。

... 繼續閱讀 ...

如何使用 Visual Studio 2010 的「單鍵發行」功能 (MsDeploy)

以往在部署網站的時候都有許多手動的步驟需介入,對於許多對 IIS / SQL 不太熟悉的新手來說部署網站變成一件非常困難且危險的事。這次 Visual Studio 2010 對於 ASP.NET 網站部署的能力大大的提升,它透過 Web Deploy API 直接與 IIS 溝通,可在發行的同時除了將網站安裝進 IIS 之外,還可以設定目錄權限、變更 web.config 內容、建立應用程式、應用程式集區、IIS 細部設定、安裝組件進 GAC、安裝憑證、設定機碼、建立資料庫、…. 等,非常強大的部署機制且與 IIS7 完美整合。

... 繼續閱讀 ...