Непрерывная интеграцияКто всё сломал?
Что интегрировать?Части одного приложения, которые разрабатываются в разными командами, ветки в git/hg/svn/etc.
Зачем интегрировать?Все части приложения должны работать в итоговой сборке, а за время разработки проект изменился
Адовое объединение
Правила непрерывной интеграции1. автоматическая сборка с тестами
2. все комитят часто (min раз в день)
3. быстрая сборка и быстрые тесты
4. тесты использую настоящую БД
5. легко узнать статус любой сборки
1. Автоматическая сборка с тестамиBamboo, Hudson, Jenkins, Travis
Все комитят часто
Быстрая сборка и тестыМожно заменить Selenium на REST
Легко узнать статус любой сборки
Continuos Integrationполезно, просто
от непрерывной интеграции,
до непрерывной поствки - один шаг
revisionNumber=${bamboo.repository.revision.number}
hg tag -f --user bambooci -r $revisionNumber latest_release_candidate
hg pull --rebase
hg push
Исправляем сборкусломал? исправь! ушел домой? отменим!
Идеальный мир
Просто? Демо