持續集成
持續整合(CI)是指每天多次產生系統的乾淨版本。
持續整合 (CI) 指的是每天多次產生系統的乾淨版本,通常使用 CruiseControl 之類的工具,它利用 Ant 和各種原始碼控制系統。敏捷團隊通常會配置 CI,使其包含自動化編譯、單元測試執行和原始碼控制整合。有時,CI 還包括自動執行自動化驗收測試,例如使用 FitNesse 開發的測試。實際上,CI 意味著構建幾乎始終是乾淨的。
持續整合技術、工具和策略
CI 要有效運作,似乎需要遵循一些特定的實踐方法。 在他的網站上Martin Fowler 對持續整合是什麼以及如何使其發揮作用進行了詳盡的描述。
一條常用的持續整合(CI)規則規定,程式設計師每天結束時絕對不要留下任何未整合的程式碼。建置版本絕不應該在夜間處於故障狀態。這給了程式設計團隊一定的任務規劃紀律。此外,如果團隊規定,在程式碼提交時導致建置版本出錯的人必須負責修復,那麼自然會激勵團隊成員在一天中頻繁地提交程式碼。
持續集成的好處
當持續整合(CI)運作良好時,它能確保程式碼足夠健壯,讓客戶和其他利害關係人可以隨時進行測試。這能加快整體開發流程;正如福勒所指出的,它帶來了截然不同的體驗。它還能促進程式設計師和客戶之間的更多回饋,幫助團隊在迭代截止日期前把事情做好。與重構類似,持續整合只有在擁有一套詳盡的自動化單元測試來確保不會提交有缺陷的程式碼時才能發揮作用。
熟練的持續整合意味著整合永遠不會令人頭疼,因為你的工作與程式碼庫的差異微乎其微。如果團隊需要定期處理小規模的差異,他們就不需要面對真正棘手的問題。他們還有機會在差異出現的當天就進行討論,因為整合當天就能讓所有團隊注意到這些差異。