Непрерывная интеграция - это «сборка», но она является частью программирующей части цикла разработки. Точно так же, как «тесты» в TDD являются частью программирующей части цикла разработки.
Все еще будут сборки и испытания в рамках общего цикла разработки.
Точка непрерывной интеграции и испытаний заключается в том, чтобы сократить петли обратной связи и дать программистам больше видимости. В конечном итоге это означает меньше проблем при тестировании и сборке, но это не значит, что вы больше не выполняете исходные части цикла разработки - они просто более эффективны и могут быть подняты на более высокий уровень, поскольку более частые проблемы обнаружен ранее в цикле разработки.
Таким образом, вам все равно придется замораживать код (или, по крайней мере, филиал), чтобы обеспечить базовую линию для того, что вы отправляете, как и ожидалось. Просто потому, что кто-то может реализовать что-то с высокой степенью уверенности, это не значит, что он переходит в ваш выпуск, не пройдя одни и те же заключительные циклы, и замораживание кода является важной частью этого.
С CI, ваш код зависает, может быть очень коротким, поскольку ваша окончательная сборка, тестирование и выпуск могут быть очень надежными, а зависание кода может даже не существовать на небольших проектах, так как нет необходимости в ветке - вы выпускаете и очень быстро вернуться к разработке в следующем наборе функций.
Я также хотел бы добавить, что CI и TDD позволяют окончательной фазе сборки и тестирования вернуться назад к традиционному водопаду (делать все dev, делать все тестирование, а затем выпускать), в отличие от более непрерывного QA который был выполнен по проектам с еженедельными или ежемесячными сборками. Ваши тестировщики могут использовать сборки CI для ранней обратной связи, но это эффективная обратная связь, чем в конечном тестировании, где вы ищете стабильность и надежность, а не функциональность (что, очевидно, было пропущено в модульных тестах, которые разработчики построили).
Это было мое впечатление. Кроме того, я думаю, что, поскольку у вас так много сборок с CI-сервером, вам не нужно замораживать код, потому что у вас так много времени, чтобы выбрать, чтобы выбрать «хорошую» версию. – casademora 2008-11-11 21:12:46