[VisualStudio]VS2010 Web Application Deployment

[VisualStudio]

先跳過還沒時間仔細看的Entity Framework的相關Section,先來看看Web Application Deployment的部分吧。

 

若你有參與過專案開發,你應該對於程式更版有很多的體悟,一定規模的系統,不管是程式數量、Web Service個數、Table Schema複雜度、環境參數、使用外部元件等可能都有一定的複雜度,在測試或者維護過程中,遇到要做系統更版,沒有經驗的開發人員肯定是膽戰心驚,深怕少版了某些東西,或者少改了哪些設定,上到客戶端的環境時,想要找問題可能就沒那麼簡單了,你是否也為了這些事情而煩惱。

 

上述的工作,在產品開發過程中,可能不是由開發人員來進行,而是交由服務人員來處理,你能想像嗎?連開發人員自己處理都已經搞到一個頭兩個大,交給服務人員會是甚麼樣的一番景象,因此在產品開發過程中建構管理就非常的重要,只有將每個版本所需要的程式、Table Schema、環境參數等變更都封裝成metadata,然後透過工具來進行更版動作,服務人員只要指定好路徑與資料庫位置,該做的事情就會一一被做完了,這樣就可以大大的減少因更版而造成的問題。

 

以上的做法可以解決到我們的問題,但若要針對每個系統寫一個工具來做這些工作,似乎又有點累,所以我們可能會透過InstallShield或者Visual Studio的安裝專案來協助我們,不過今天這邊要提的是Visual Studio 2010所提供的內建功能:

 

Web Application Deployment with Visual Studio 2010

本次的主題有以下幾個:

透過MSDeploy工具將以下的資訊壓縮成Zip檔:

    • IIS 設定:包含集區設定、站台設定、Error Page等等設定。
    • 網站內容:包含網頁、User Control、圖檔、CSS跟JS檔等。
    • 資料庫內容:SQL Server資料庫的Table Schema與資料。
    • 環境設定:安全性設定、GAC、機碼設定等等。

此部分不包含web.config的設定移轉,此部分在下個段落中說明。

參考資料:10 + 20 reasons why you should create a Web Package

 

2010提供了XML Document Transform (XDT)讓我們可以將我們的web.config設定很輕易的從development環境移轉到production環境下,例如以下範例:

<connectionStrings xdt:Transform="Replace">
  <add name="BlogDB" connectionString="connection string detail]" />
</connectionStrings>

上述的設定,其中有個property叫xdt:Transform=”Replace”,這代表更版時connectionStrings這個Tag中的內容會被上述內容取代掉。

參考資料:Web Deployment: Web.Config Transformation[VS2010] ASP.NET 4.0 新功能:Web.config Minification 與 Transformation

 

若我們再使用Web Packages時有提供資料庫的連線字串,屆時就會產出變更的SQL Scripts,若搭配Click-Once的發行,甚至可以將這些SQL Scripts直接異動到Server上。

參考資料:Database Deployment with VS 2010

 

VS 2010也提供了透過IIS remote management service來進行網站發行的功能,這部分講的東西很少,稍後的文章細節再一一說明吧。

參考資料:Web 1-Click Publish with VS 2010VS 2010 for Web Developer Previews

 

這一篇文章的內容有點空泛,主要的資料是Vishal Joshi部落格的內容,後續針對Web Packages的使用做些說明吧,看起來有些東西功能使用,花些時間研究研究。

游舒帆 (gipi)

探索原力Co-founder,曾任TutorABC協理與鼎新電腦總監,並曾獲選兩屆微軟最有價值專家 ( MVP ),離開職場後創辦探索原力,致力於協助青少年培養面對未來的能力。認為教育與組織育才其實息息相關,都是在為未來儲備能量,2018年起成立為期一年的專題課程《職涯躍升的關鍵24堂課》,為培養台灣未來的領袖而努力。