У нас есть исходный код, хранящийся в репозиториях Kiln/Mercurial; мы используем MSBuild для создания нашего продукта, и у нас есть Unit Tests, которые используют MSTest (тесты на Visual Studio Unit).
Какие существуют решения для реализации машины непрерывного интегрирования (т.е. сборки).
Требования для этого:
- При необходимости необходимо выставить сборку (то есть код изменился в репозиториях, о которых мы заботимся)
- Перед фактической сборкой последняя версия исходного кода должна быть получена из репозитория, из которого мы строим:
- Сборка должна построить весь продукт
- В сборке должны быть все тесты Unit
- Строка должна выполнять все модульные тесты
- Резюме успеха/сбоя должно быть отправлено после завершения сборки; это должно включать в себя информацию о самой сборке, а также о том, какие тесты Unit не выполнялись, и какие из них были успешными.
- Резюме должно содержать, какие изменения были в этой сборке, которые еще не были в предыдущей успешной (!) сборке
- Система должна быть настроена так, чтобы она могла строить из нескольких ветвей (/Репозитории).
В идеале эта система будет работать на одном ящике (наш продукт не такой большой) без каких-либо серверных компонентов.
Какие решения доступны в настоящее время? Каковы их плюсы и минусы? Из приведенного выше списка, что можно сделать и что не может быть сделано?
Спасибо