我以爲我能參考其他開發者的東西就像一個列表:什麼是源代碼管理和配置管理最佳實踐?
- 一個構建腳本,如makefile文件, 將建立並測試整個項目
- 所有組件所需的構建 系統需要源控制
任何人都有這樣的列表?優先順序?
UPDATE - 增加了一些細節FYI
系統在問題包括C++和生成文件,爪哇與螞蟻導致戰爭,以及PowerBuilder和C#GUI組件。所有代碼都在執行。
所以我正在尋找通用以及語言特定的最佳實踐。
我以爲我能參考其他開發者的東西就像一個列表:什麼是源代碼管理和配置管理最佳實踐?
任何人都有這樣的列表?優先順序?
UPDATE - 增加了一些細節FYI
系統在問題包括C++和生成文件,爪哇與螞蟻導致戰爭,以及PowerBuilder和C#GUI組件。所有代碼都在執行。
所以我正在尋找通用以及語言特定的最佳實踐。
對我來說,#1規則是這樣的:
主要分支是神聖的 - 它必須始終可建造,能夠通過BVT的,而且是基本可用。
任何允許進入導致構建或BVT中斷的主分支的代碼都會暴露流程中的錯誤。該流程應該允許夥伴構建/測試單個分支系統,或者要求子分支在構建主分支之前構建並通過BVT,或者其他此類保護。
這很大程度上取決於您建築的環境是什麼?
每一種方法中和設置不同。所以我們需要知道你的設置,然後才能得到幫助。
增加了詳細信息:有問題的系統由C++和makefiles組成,Java中帶有導致WAR的ant,以及powerbuilder和C#gui組件。所有代碼都在執行。 所以我正在尋找通用以及語言特定的最佳實踐。 – 2009-04-14 23:23:16
通過閱讀該博客條目的評論,你會發現我強烈反對這種觀點。版本控制系統旨在控制軟件版本,而不是備份中間編輯。一個好的編輯應該爲你做。 (Emacs中的版本控制) – 2009-04-14 22:09:17
如果您通過從「喬爾測試」這些問題,你應該在正確的道路上:
你使用源代碼控制?
您是否每日製作?
你有錯誤數據庫嗎?
在編寫新代碼之前是否修復了錯誤?
我的第一個問題是:您可以一步完成構建嗎?
作爲一個SCM經理,我可以給你關於這個問題的最佳答案是「看情況」。您列表中項目重要性的列表和順序取決於您的項目要求,您使用的語言和開發人員級別。
您可能想要考慮的一件事對您放在一起的任何列表來說都很重要(或#1),即您的工具的主幹或主分支受到極大的控制,只有少數人可以訪問導入或對其進行更改。這將在發佈時節省大量頭痛。
的項目,可以是任何名單上,你放在一起是:
該列表可以繼續和開放取決於您的具體要求,但我認爲你得到的是這裏的一般想法。
系統必須自行構建,自行測試,並自行下載+構建依賴關係。 我有一個生成文件下載,建立和部署一個運行時環境,這是我的中繼版「認證」。這個makefile也被提交到版本庫中。
記住犯下另一個非常重要的,而且大多被忽視的東西(有三種一捆):(!把一個版本就可以了)
的「獲取最新」的全過程, 「建築」應該平穩,輕鬆,快速和可靠。
如果不是,開發人員往往會忽略獲取最新版本並繼續研究其陳舊的副本,這是您想要避免的。
這是多了還是少了什麼邁克爾所述 - 但我想強調的是超越分支是神聖和穩定 - 整個過程應該是快速和容易
有點像谷歌的理念是下載\安裝應迅速和容易
恩,如果我可以問,什麼是BVT? – bluezald 2012-07-24 03:37:33