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