我們對CI使用CruiseControl.Net/NAnt/Subversion堆棧。爲每個構建做一次全新的檢查太費時,所以目前我們只是對工作副本進行更新。但是,這可能會導致孤立的文件在源代碼管理中被刪除後可能會保留在工作副本中。我們試圖使用NAnt刪除任務只是爲了在更新之前刪除所有代碼源文件,但這可能會破壞工作副本。有沒有人知道一個快速的方式來運行一個乾淨的和最新的工作副本的構建? 編輯:我們在SVN 1.3.2持續集成的清潔版本
7
A
回答
5
如果你只是'更新',SVN將刪除源控件中刪除的所有文件。但是,構建過程中創建的文件可能仍然存在,並可能會干擾新構建。我不確定SVN是否有命令刪除它們,但我想你可以用一個小腳本來做到這一點,SVN絕對可以告訴你哪些文件在源代碼控制下,哪些不是。
1
如果你的工作副本中有遺留的文件完成svn更新,那麼你的Subversion版本中有一個錯誤。
1
您可能會每天完成一次構建,並保持原樣進行構建。另外,對於部署構建,始終使用乾淨的完整構建可能是一個好主意。
1
我能想到的唯一方法是在構建服務器上有兩個副本。首先你在第一個位置更新。您刪除第二個位置。先複製到第二個,然後在第二個位置構建。這樣你總是從一個乾淨的構建開始。
你可能想看看爲什麼你的結賬需要這麼長時間。我已經使用了相同的buildserver堆棧,從來沒有遇到過問題。 Subversion通常比構建本身花費更少的時間。
3
我們在CC實施方面遇到類似問題。
我們的解決方案...我們已經制作了一個3:00 AM的夜間構建,除了基本單元測試之外,還執行了更長時間的運行集成測試。我們只是決定讓這個3:00 AM在一棵新鮮的樹上建立一個完全乾淨的構建。因爲這是半夜,所以很少影響任何人。所有其他「正常」簽入運行增量構建。
相關問題
- 1. 所有版本ruby的持續集成?
- 2. 持續集成構建 - 版本
- 3. 持續集成和軟件版本化
- 4. 持續集成
- 5. 持續集成環境中的iOS App Store版本
- 6. iOS與Jenkins,Hockey的持續集成並增加版本
- 7. 將基於eclipse/cdt的版本整合爲持續集成
- 8. Hudson持續集成構建作業的版本控制
- 9. 從不同的python版本清潔Mac
- 10. TFS持續集成
- 11. python持續集成
- 12. C持續集成
- 13. TypeScript持續集成
- 14. GreaseMonkey持續集成
- 15. 我應該如何處理持續集成和.NET Framework版本
- 16. 在持續集成環境中處理版本控制
- 17. Ruby on Rails和.NET持續集成和版本控制設置
- 18. 持續集成 - 多久會持續
- 19. 與Git的持續集成
- 20. iPhone的持續集成xcode
- 21. 與VSTS的持續集成
- 22. 與GitHub的持續集成
- 23. 持續集成的HUnit/QuickCheck
- 24. 與mysql的持續集成
- 25. 清潔代碼哪個版本正確?
- 26. 在Xcode/Snow Leopard中清潔版本
- 27. 如何清潔版本控制$ Id $ comment
- 28. 支持舊版本iOs的Twitter集成
- 29. Checkitx集成在Gitlab CI持續集成
- 30. 持續集成和預集成