2012-10-23 170 views
2

我有一個MVC3應用程序,我使用Visual Studio中的「Web發佈」功能部署到IIS 7.5。我需要設置第二臺服務器,這臺服務器將進行硬件負載平衡,並將鏡像第一臺服務器上的設置。Web部署到2個獨立的Web服務器?

我知道Web場框架,這是一種選擇,但我不喜歡控制器服務器是在鏈中最薄弱的環節的想法。我想我寧願只使用硬件負載平衡器來引導流量。

是否有可能寫一本手冊Web部署腳本,將針對每次運行時間2個獨立的服務器?

回答

1

這裏是我如何與TFS這樣做:

  1. 創建您的解決方案配置。選擇Build - > Configuration Manager。在Active Solution Configuration下拉菜單中,選擇New並輸入值(DEV1,DEV2等)。使項目上下文確定配置列DEV1爲DEV1配置等

  2. 創建發佈配置文件(建設 - >發佈)。爲每個服務器創建配置文件(例如,DEV1和DEV2)。在Connections選項卡中,選擇Web Deploy並輸入服務器地址(使用/msdeploy.axd)。此服務器必須安裝Web部署(我正在使用Web Deploy 3.5)。驗證您的連接以確保一切正在連接,然後再次關閉。不要按發佈。保存完成後,將在您的項目下的屬性>發佈配置文件中創建一個名爲類似DEV1.pubxml的新文件。這個XML文件包含所有需要的信息。

  3. 創建轉換您的Web配置文件(右鍵單擊web.config文件,然後選擇添加配置變換)。這將允許您根據您的部署類型擁有不同的Web配置值。例如,您可以在發佈到PROD連接字符串,等等。你可以閱讀更多關於這個here

  4. 在文本編輯器中的項目文件(我使用C#,所以我的項目文件替換不同的值是.csproj)。在本例中搜索DEV1。你會碰到一行DEV1 | AnyCPU。這將是PropertyGroup標記屬性中的一個條件。在它下面,添加一個PublishProfile標籤。下面是一個屏幕截圖:

Adding reference to the Publish Profile

現在你設置。我使用了TFS Build,並且在Build定義文件中必須記住的唯一事情是在Items to Build下(在Process選項卡下)設置正確的配置。

Items to build setting in the build definition in TFS

你並不需要設置目標中的MSBuild參數字段建立,因爲這些值將從發佈配置文件被拾起。

一切現在設置爲您運行的構建。如果你的版本有問題(給你錯誤的配置不正確),我已經在這裏回答它:TFS 2012 Build Definition for web deployment ignores parameters defined in project files