Почему моя команда разработчиков должна иметь сервер сборки? - PullRequest
26 голосов
/ 02 марта 2010

Мы знаем, что это хорошо, но я оправдываю это перед своим работодателем. Пожалуйста, укажите, почему команде разработчиков нужен сервер сборки.

Ответы [ 8 ]

21 голосов
/ 02 марта 2010

Существует несколько причин для использования серверов сборки.Безо всякого особого порядка и не в моей голове:

  1. Вы упрощаете рабочий процесс разработчиков и уменьшаете вероятность ошибок.Ваш сервер сборки может позаботиться о нескольких шагах, таких как проверка последней версии кода, наличие необходимого программного обеспечения и т. Д. У разработчика нет шансов иметь на своем компьютере какие-то случайные библиотеки DLL, которые могут привести к тому, что сборка пройдет или, по-видимому, выйдет случайно.1005 *

    Ваш сервер сборки может копировать целевую среду (операционную систему и т. Д.), И вероятность того, что что-то сработает на рабочих столах разработчиков и перестанет работать, меньше.

  2. Хотя разработчикам полезно проверять все, что они регистрируют, иногда они просто этого не делают.Тогда хорошо иметь сервер сборки, чтобы ловить тестовые ошибки и сообщать команде, что продукт не работает.

  3. Централизованные сборки обеспечивают легкий доступ к метрикам кода - какие тесты пройдены, какиене удалось, как часто, насколько хорошо ваш код охватывается вашими тестами и т. д. Наличие четкого понимания состояния качества кодовой базы снижает затраты на обслуживание и тестирование, обеспечивая своевременную обратную связь, которая позволяет быстро и легко исправлять ошибки.

  4. Развертывание продукта упрощено - разработчик или QA не должны помнить несколько шагов вручную.Это может быть легко автоматизировано.

  5. Упрощена связь между разработчиками и QA.Сотрудники отдела контроля качества могут отправиться в известное место, чтобы получить последние сборки с правильной версией.

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

20 голосов
/ 02 марта 2010

Чтобы избежать проблемы "но это работает на моей коробке".

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

Вы можете использовать виртуальный сервер, чтобы избежать (очень) дополнительных затрат, если вам нужно.

4 голосов
/ 02 марта 2010

КАК МОЖНО СКОРЕЕ знать, какие модульные тесты в настоящее время работают, а какие нет; кроме того, вы также будете знать, если однократное прохождение модульных тестов станет неудачным.

3 голосов
/ 02 марта 2010

Две основные причины, по которым нетехнические люди могут относиться к:

  • Повышает производительность команды разработчиков, поскольку проблемы были выявлены ранее.

  • Это делает состояние проекта очень очевидным. Я показал своему руководству панель мониторинга состояния сборки, и теперь они все время на нее смотрят.

Еще одна вещь. Нечто подобное Hudson очень просто настроить - вы можете просто запустить его где-нибудь в углу на некоторое время, а потом показать позже.

3 голосов
/ 02 марта 2010

Это приборная панель непрерывного тестирования качества; он показывает вам статистику о качестве вашего программного обеспечения и показывает вам его сейчас. (Юнит, Кобертура)

Это позволяет разработчикам не мешать другим разработчикам, ломающим сборку, и призывает разработчиков писать более качественный код. (FindBugs, PMD)

Это экономит ваше время и деньги в течение года, так как в первый раз получает лучший код от разработчиков - меньше денег на тестирование и повторное тестирование - и получает больше кода от одних и тех же разработчиков, потому что они с меньшей вероятностью сбивают друг друга с толку. .

3 голосов
/ 02 марта 2010

Это должно подвести итог, почему так важно иметь сервер сборки:

http://www.codinghorror.com/blog/2006/10/the-build-server-your-projects-heart-monitor.html

2 голосов
/ 03 марта 2010

Это мой главный аргумент:

  • все официальные выпуски должны быть собраны в контролируемой среде. Не исключение.

просто потому, что вы никогда не знаете, как разработчики создают свои личные выпуски.

Вам также не нужно говорить о билде server , как в «лезвии, которое стоит руку за ногу». Первым сервером сборки, который я настроил, был настольный компьютер, который был отключен от сети в углу. Это служило нам очень хорошо в течение более 3 лет.

Когда у вас есть сборочная машина, вы можете начать добавлять некоторые функции (Хадсон великолепен) и реализовывать все, что упоминали другие авторы.

Как только ваша сборочная машина станет незаменимой для вашей организации (и все увидят ее преимущества), вы сможете попросить новый блестящий нож, если хотите :-)

0 голосов
/ 07 марта 2010

Самое простое, что вы можете сделать, чтобы убедить своих работодателей иметь сервер сборки, это сказать им, что они смогут выпускать быстрее и с лучшим качеством .

Более быстрые релизы исходят из непосредственных отзывов о качестве сборки. Если кто-то нарушает сборку, он или она может немедленно исправить поврежденную сборку, избегая задержки в графике сборки и выпуска. Без сервера сборки команде придется тратить время на то, чтобы выяснить, что и когда произошло, и как это исправить.

Лучшее качество достигается за счет того, что сервер сборки автоматически запускает инструменты обнаружения ошибок каждый раз, когда кто-то проверяет изменения в системе контроля версий. Вы не упоминаете, что является основным языком разработки в вашей организации, но такие инструменты, продвинутые, но коммерческие и простые, но бесплатные, существуют практически для всех языков. На ум приходят Lint, FxCop, FindBugs и PMD.

Вы также можете проверить это представление о преимуществах непрерывной интеграции для более подробного обсуждения.

...