2011-04-07 152 views
22

我一直在使用Jenkins/Hudson CI部署我的.NET網站項目。我一直在使用MSbuild plugin來構建我的項目,然後使用xcopy將其複製到服務器。使用Jenkins/Hudson部署.NET

我注意到如果我使用publish feature in Visual Studio,我會得到一組不同的文件。我有配置轉換工作,但我最終與所有.cs文件和一個winmerge比較顯示二進制文件是不同的。

所以,我想要麼Jenkins就像發佈功能一樣工作,要麼確認xcopy部署在功能上是一樣的。

+8

EXE和DLL文件頭包含一個時間戳。不同的版本不會生成完全相同的文件。 – 2011-04-07 14:31:16

回答

23

我已經好經驗用Web Deploy並與詹金斯運行包含一個bat文件最終構建步驟:

msdeploy.exe -verb:sync -source:package=%PACKAGE% -dest:auto,ComputerName=%TARGETHOST% 

你必須到您的構建服務器和上安裝Web部署包在IIS上擴展。

6

我正在使用MSBuild Jenkins插件來構建並部署該項目。正如其他答案中提到的,您需要安裝Web Deploy

在詹金斯的項目配置頁面中,您需要添加以下到命令行參數領域:

/p:Configuration=Debug /p:DeployOnBuild=true /p:PublishProfile=publishProfileName 

當然,你需要首先創建發佈配置,無論是在VS或通過從IIS中導出它並且還需要在MSBuild構建文件字段中指定解決方案文件路徑。