2009-11-05 89 views
0

我們的Web項目是使用SVN進行源代碼控制的。它包含MSBuild文件來構建本地,測試和生產版本。我們還使用CruiseControl.NET手動部署生產和測試版本(不是在每次提交之後)。構建和部署的強制規則

問題是如何檢查生產部署是否正在使用CC.NET web項目使用生產版本(而不是測試或其他)構建?如何在構建和部署到生產時強制執行特定的步驟(如壓縮JS和CSS,用debug =「false」編譯等等)?現在每個開發人員都可以對MSBuild文件進行更改(所以他/她可以忘記在生產版本上壓縮JS等)。

回答

0

我廣泛使用了CruiseControl和NAnt,但沒有使用MSBuild。你有不同的MSBuild文件的每種構建類型(即本地/測試/產品)?你可以有一個可以參數化的單一的,這樣你的CCNet集成商可以明確地爲目標環境調用適當的選項嗎?這就是我持續集成與在CCNet中配置的發佈候選版本的關係。一個主NAnt構建腳本和一個不同的CC集成器,用於每個目標env,具有必要的構建參數(是它們的目標或屬性值)。我想你可以做一些與MSBuild vars/targets相似的東西。

+0

是的,我們使用單個構建文件並將參數傳遞給它。但是,該構建文件可以由任何開發人員修改,例如,如果我們向部署腳本添加新功能,開發人員會忘記將其添加到部署腳本中,從而導致問題。如何檢查構建文件是否包含新部署「功能」? – Sazug 2009-11-05 16:32:07