Is Pipelined Continous Integration a Good Idea?
Amr Elssamadisy
http://www.infoq.com/news/2007/09/CI_Pipeline
當我們在apply CI時會遇到一個問題: 那就是CI執行了太久.
有時候是因為compile source code太久, 像我們的程式要4~5 hrs
有時候是因為測試程式寫的不好, 需要很多時間去執行
有時候是因為test case太多, 跑都跑不完
....
原因實在很多, 但是我確實沒想過用pipelined的方式來解決
A quick build with the fast tests is run and a preliminary pass-fail is sent to the team, while the more extensive form of the build is done in the background. Slower tests, such as functional/integration/system tests, are performed in later stages
不過這卻違背了CI的精神:
By pipelining the build, we give false confidence that the integration phase is successful. Developers continue to build on bad code for several iterations, which only exacerbates the problem
這個觀點確實還新鮮的, 有時候我們常想一些方法來解決目前的問題, 但是常常卻忘記我們原先的目的, 目標是什麼. 如果能常常回去想想, align它, 可能會讓你的做法不會偏差原先的主軸太多.
留言列表