Стоит ли реализовывать CI для одного или двух человек? - PullRequest
4 голосов
/ 17 января 2010

На работе, где мы занимаемся разработкой LOB .NET / MSSQL, многие проекты, которые у нас есть, - это проекты с участием двух или даже одного человека, жизненный цикл разработки которых составляет 1-3 месяца. Разработчики служат бизнес-аналитиками / менеджерами проектов / QA, поэтому все делается быстро с минимальными затратами времени. Мы получаем большие проекты, которые могут занять 6 месяцев, и у нас есть команда из 5 разработчиков, но они более редки.

Мы прилагаем все усилия, чтобы начать продвижение TDD (мой последний проект имеет полное покрытие кода и был разработан исключительно), и я занимался исследованием архитектуры, необходимой для того, чтобы извлечь из нее максимальную выгоду. Похоже, что большинство людей, занимающихся TDD, выполняют CI, имеют сервер сборки, выполняют автоматические сборки и имеют какой-то инструмент для автоматической сборки клиента (FinalBuilder или nAnt) и т. Д.

Итак, мои вопросы - я вижу очевидные преимущества в необычных крупных проектах, когда у вас есть 5 человек, работающих над одной и той же кодовой базой одновременно, - но получим ли мы большую выгоду от использования CI в небольших проектах с двумя людьми? А как насчет проекта с одним человеком - для них это просто пустая трата, поскольку вы действительно ни с кем не «интегрируетесь»? И как вам передать CI / автоматизировать сборки / построить сервер для управления?

Ответы [ 2 ]

10 голосов
/ 17 января 2010

Наличие автоматизированного / повторяемого процесса сборки и возможность доказать, что текущая сборка проходит все тесты и выполняется в серверной среде, стоит усилий для проекта IMHO любого размера.

Я бы сказал так: ручные сборки выполняются вручную. Вещи могут запутаться даже на небольших проектах. Автоматическая сборка решает эту проблему. Время, необходимое для настройки сценария сборки, будет многократно увеличено в течение жизненного цикла приложения.

Что касается CI с тестовыми прогонами и т. Д. ... идет: это постоянная проверка работоспособности качества базы кода. Хорошо знать как можно скорее, когда одна вещь случайно сломает другую.

2 голосов
/ 18 января 2010

В небольшом проекте вам не требуется большая часть инфраструктуры для выполнения CI, особенно сервер сборки. Что вам нужно do , так это тесты, автоматизация сборки, контроль версий и контролируемая среда сборки. Вы также можете использовать ваши серверы сборки и тестирования как образы виртуальных машин, которые вы запускаете на своих рабочих станциях ... до тех пор, пока образы находятся под контролем версий, как и остальная часть проекта.

...