我們的系統包含許多.NET網站,類庫和MSSQL數據庫。我們使用SVN進行源代碼管理,並使用TeamCity自動構建到測試服務器。關於管理髮行版依賴關係的提示?
我們的團隊通常一次在4或5個項目上工作。我們試圖將許多變化變成每2-4週一次的大規模推廣。
我的問題是跟蹤所有的卷展的依賴關係。例如:
網站不能活去,直到我們推出了分公司X類庫B的,建於翻臉類的主幹庫C,這就需要配置更新Y和Z和數據庫更新d,其中需要遷移腳本E ...
它變得更加複雜 - 就像確保每個開發人員的項目實際上與其他人兼容並且針對相同版本構建一樣。是的,這與技術問題一樣是一個管理問題。
目前我們的非最優的解決方案是:
- 白板列出的功能,沒有去現場還
- 規劃部署時,依靠我們的記憶和直覺,直到我們可以肯定我們已經想到了一切...
- 在我們的臨時環境中運行。這是一個很好的指示,但我們常常不知道Staging是否與Live保持同步100% - 這是我希望解決的問題的一部分。
- 某些數量在推出日上演。
到目前爲止好,減去幾個關閉電話。但隨着我們系統的不斷髮展,我希望有一個更科學的發佈管理系統,可以提供更多的靈活性,比如能夠自行推出單個更改或錯誤修復,並且知道它不會破壞其他任何內容。
我猜最好的解決方案涉及某種版本編號系統,也許使用項目管理工具。我們是一家初創公司,所以我們在堅持嚴格流程的宗旨上並不太熱,但我們很樂意開始,只要它不會增加開銷而不是價值。
我很樂意聽到其他解決此問題的團隊的建議。
項目位於單個存儲庫中的單獨文件夾中。相互依賴的一個例子是我們的網站,移動網站和API都參考相同的業務邏輯庫。與其他一些項目一樣,參考相同的實用程序庫。 同意我們沒有充分利用CI,我喜歡穩定分支的想法。但是這需要處理代碼。數據庫,配置,遷移腳本和其他因素呢? – realworldcoder 2010-05-24 17:48:40
@Andrew:這一切都屬於您的代碼到您的svn回購中。 – 2010-05-24 17:54:14