我正在使用SVN + CruiseControl.NET + MSBuild構建.NET項目。這些是技術細節,以便您瞭解環境和術語,但問題本質上是更普遍的。用於持續集成和自動版本標記的工作流:.NET項目+ CC.NET + SVN + MSBuild
現在,我的CI工作流程非常簡單:
- CC.NET檢測到新的修訂在SVN檢測項目主幹
- CC.NET工作副本從SVN更新
- 的MSBuild是在樹幹針對.proj文件推出
- 單元測試運行
- 如果成功的話,項目將被複制/部署
在步驟3中,我想將版本號「戳記」到版本上;在我的情況下,在AssemblyInfo.cs文件中,很可能使用類似msbuildtasks中的AssemblyInfo任務。另外,我希望能夠在該特定版本號上重複該構建。現在,我在想,可能在第4步之後,我需要提交/使用加蓋的AssemblyInfo.cs將其重新標記爲SVN項目,但是我很難考慮以最直接的方式執行此操作。
如果我正在將帶有蓋章的AssemblyInfo.cs文件的項目提交回存儲庫,那麼它不能到達主幹,因爲這會觸發另一個自動構建:無限循環。所以,我會假設它需要去一個新的標籤。那麼我會標記修訂版本,將工作副本切換到標記,提交,然後切換回主幹。這是常用的方式嗎?
還是我過分複雜呢?我是否應該擔心將此版本提交回購,還是隻是將構建的項目壓縮並存儲在文件系統中的結構化位置?
什麼你在做什麼來拯救他們?所描述的ZIP和商店? – 2012-02-07 21:01:37
我們只是住在一個解壓縮的文件夾中,但是真正漂浮在你的船上。 – BNL 2012-02-07 21:04:07
Gotcha。我可以假設這個文件夾被複製出來作爲發佈構建作業的一部分嗎? – 2012-02-07 21:05:28