Я работаю с небольшой командой разработчиков (4 человека) в проекте С#. Я предложил настроить машину сборки, которая будет выполнять ночные сборки и тесты проекта, потому что я понимаю, что это хорошая вещь. Проблема в том, что у нас здесь не так много бюджета, поэтому я должен оправдать расходы на те полномочия. Поэтому я хочу знать:
Какие инструменты/лицензии мне понадобятся? Прямо сейчас мы используем Visual Studio и Smart Assembly для сборки и Perforce для управления версиями. Будет ли мне что-то еще, или есть эквивалент задания cron для запуска автоматических скриптов? Что, собственно, это получит меня, кроме указания на сломанную сборку? Должен ли я настраивать тестовые проекты в этом решении (sln файл), который будет выполняться этими сценариями, поэтому я могу проверить определенные функции? На данный момент у нас есть два таких теста, потому что у нас не было времени (или, откровенно говоря, опыта), чтобы сделать хорошие модульные тесты. Какое оборудование мне нужно для этого? Как только сборка была завершена и протестирована, общепринятой практикой является создание этой сборки на ftp-сайте или другой способ для внутреннего доступа? Идея состоит в том, что эта машина создает сборку, и все мы идем к ней, но можем делать отладочные сборки, если нам нужно.
Как часто мы должны делать такую сборку? Как управлять пространством? Если мы создадим ночные сборки, должны ли мы обойти все старые сборки или начать отрывать их примерно через неделю или около того? Есть ли что-нибудь еще, что я не вижу здесь?
Я понимаю, что это очень большая тема, и я только начинаю. Я не мог найти дубликат этого вопроса здесь, и если там есть книга, которую я должен получить, сообщите мне.
EDIT: Я, наконец, получил его на работу! Хадсон совершенно фантастичен, и FxCop показывает, что некоторые функции, которые, как мы думали, были реализованы, на самом деле были неполными. Нам также пришлось сменить тип установки с Old-And-Busted vdproj на New Hotness WiX.
В принципе, для тех, кто обращает на это внимание, если вы можете запустить свою сборку из командной строки, вы можете поместить ее в hudson. Создание прогона сборки из командной строки через MSBuild - полезное упражнение само по себе, поскольку оно заставляет ваши инструменты быть текущими.