2011-06-25 59 views
1

我知道這個問題有多少問題,但我仍然無法弄清楚我的問題的答案。aspnet部署工具的最佳組合

我需要部署ASP.NET 4.0網站,我想要做這樣的事情:

  1. 獲取最新版本OG整個解決方案 - 一個網站,由所使用的一對夫婦類項目Web應用程序(我做這個已經使用CCNet-不是問題)
  2. 構建和調試配置部署到測試現場
  3. 建立和釋放配置部署到一個臨時站點
  4. 如果一切正常的登臺網站,我將運行部署發佈bui的腳本ld分段站點,到同一服務器上不同客戶使用的7-8個類似站點。將來這將在另一臺服務器上。

有MSDeploy(webdeploy 2.0),aspnet_compiler,MSBuild,Powershell(我選擇的武器..)和propably更...我不是100%確定在哪裏使用?

我很想模仿Vs2010 GUI輔助部署中「只需部署運行網站所需的文件」,並且希望能夠不觸及我們部署到的網站中的某些現有文件夾。

我覺得我應該使用MSDeploy很多...但我覺得很難得到。我正在IIS.NET中閱讀,我聽說過Scott Hanselman/Jon ArildTørresdal播客。我不是100%肯定從哪裏開始的...而且我不是MSBuild的專家,所以Powershell對我來說看起來相當不錯。但我覺得我錯過了正確的工具去那種方式...

什麼工具,你會在哪個步驟?

回答

-1

據我所知,MSDeploy的構建是爲了實現您的所有需求並提供更多的控制。 MSDeploy是IIS團隊的產品,功能更豐富。

回答您的問題 注意事項:SVN源代碼控制,MSDeploy部署

  1. 您可以使用SVN命令行工具,在一些臨時目錄中,以獲得最新版本的源代碼,並使用的MSBuild建立它命令行工具。然後,您可以創建可部署到特定環境的部署包或發佈內容包。我目前正在開發一個基本可以創建獨立於環境的部署包的項目,這意味着可以將pacakge部署到任何階段/測試/實況環境中。樣品用於創建部署包是...

    的msbuild C:\項目\ NimBuildDeployTestApp \ NimBuildDeployWebApp/NimBuildDeployWebApp.csproj /噸:包/ P:配置=推出/ P:PackageLocation = C:\ TEMP \ DeployPackage \ NimTestWebApp的.zip/p:EnablePackageProcessLoggingAndAssert =真

  2. 使用mSDeploy命令行工具來部署包,如下

    msdeploy -verb:同步-source:包= packagelocation -dest:CONFIGURABLE_ACCORDING_TO_YOUR_NEEDS

  3. 用戶步驟2建立解決方案使用MSBUILD釋放模式並在msdeploy中配置dest參數。

  4. 如果一切暫存服務器上的精細,運行deploymentToLive.batch文件,該文件將在您的在線服務器上部署一個特定PublishContent /包。在執行相同的批處理文件7個msdeploy腳本或者使用DFS(這是更爲複雜的解決方案)

MSDeploy肯定是要走的路。你可以考慮的一件事是有一個部署包準備好可以部署到您的任何環境。我的意思是你的web.config文件將不會是所有的envrionments相似,因此創建一個包含所有環境web.confif文件部署包。請參閱我的解決方案here

希望這會有所幫助,並讓您有信心進行自動化部署過程