Подтвердить что ты не робот

Почему у моей команды разработчиков есть сервер сборки?

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

4b9b3361

Ответ 1

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

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

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

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

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

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

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

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

Ответ 2

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

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

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

Ответ 3

Знание ASAP о том, какие модульные тесты в настоящее время работают, а какие нет; кроме того, вы также узнаете, не завершится ли прохождение единичных тестов.

Ответ 5

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

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

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

Ответ 6

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

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

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

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

Ответ 7

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

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

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

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

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

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

Ответ 8

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

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

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

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