Несколько раз в моей карьере, я работал в программной группе, которая определила, что
а) Нам нужна сборка/тестовой системы
б) мы должны написать собственный
с) Мы может заставлять разработчика потратить неделю, сделать это, и им не придется снова трогать его.Язык Агностик Строить система управления
Каждый раз это приводило к созданию системы, которая, по-видимому, работает только для человека, который ее написал, и требует постоянного внимания , Я много раз проводил время, пытаясь найти инструмент, который я мог бы захватить, чтобы удовлетворить наши потребности, но приходите с пустыми руками. Как правило, такие инструменты, как этот сервер, имеют очень узкий рынок. Я снова нахожусь в необходимости чего-то подобного. Есть ли что-то там, или мы пишем его снова?
Вот мои требования в приоритетном порядке (последние немногие из них просто приятно иметь):
Возможность обрабатывать сборки с несколькими проектами. У нас есть несколько компонентов, которые обеспечивают то, что другие компоненты используют и используют вещи от других компонентов. Разработчик должен иметь возможность проверять 1 компонент и вносить изменения, не создавая мир. Зависимости вне проекта должны автоматически вставляться. Таким образом, для этого важно иметь возможность выталкивать построенные объекты на сервер. Другим аспектом этого является возможность убрать все зависимости от локального каталога для разработки на дороге.
Не волнуйтесь о том, как все будет построено. Это может показаться странным, но я не хочу, чтобы система сборки беспокоилась о компиляции моего кода. Есть уже отличные инструменты, которые делают это для каждого языка - Ant, CMake и т. Д. Я просто хочу сказать, что нужно делать, чтобы создавать вещи, и какой результат он должен заботиться. Таким образом, Project A может быть в Java, Project B может быть на C++, вы получаете идею.
Есть какой-нибудь способ для запуска тестов на выходе
Показать текущие результаты сборки/тестирования на веб-странице
по электронной почте результаты
Интеграция с RCS (мы используем SVN)
Я думаю, что вы будете иметь, чтобы выяснить, почему такие вещи, как скрипты и/или Ant, MSBuild и т.д. не дотягивают. Вы также указываете, что хотите хранить двоичные файлы в управлении версиями или, по крайней мере, на сервере сборки. Почему бы просто не разоблачить результаты сборки машины на ftp-сайте - с его меткой/ревизией. – Tim 2008-11-14 20:41:51