Aptem Опубликовано 14 сентября, 2015 Поделиться Опубликовано 14 сентября, 2015 Коллеги, прошу поделиться опытом релиза своих приложений. Точнее процессом его предшествующим. Как сделано у меня сейчас: 1. Программисты пишут код, небольшие тесты (DUnit) и заливают на SVN. 2. Тестировщики пишут UI-тесты в TestComplete и сами же их гоняют. 3. Старший разработчик сливает последние изменения с коммита, компилит все проекты, прогоняет модульные тесты, и заливает новые билды на сервер обновлений. 4. Сервер обновлений уже сам раздает новые версии приложений пользователям. Как я хочу сделать (хочу попробовать непрерывную интеграцию): 1. Без изменений. 2. Без изменений. 3. Настраиваю FinalBuilder, который сам раз в неделю сливает с SVN последние версии кода, компилирует, запускает модульные и UI-тесты и заливает новые версии на сервер обновлений. Технически сделать это проблем нет, все проверял, все работает по отдельности. Собственно вопрос в том, а как подобные процессы устроены у вас? Может я упускаю какую-то стадию или вообще все делаю не так. Прошу поделиться опытом. Очень интересно. Цитата Ссылка на комментарий
Aptem Опубликовано 2 октября, 2015 Автор Поделиться Опубликовано 2 октября, 2015 (изменено) Судя по тому, что ответов не было, опишу как это получилось у меня. Получилось настроить все как я и писал выше, но пока без UI-тестов. FinalBuilder оказался действительно мощным инструментов, который позволяет делать очень много и решать одни и те же задачи разными способами. Итак, приступим к описанию. У меня 17 модулей в группе проектов. Часть кода является общей для всех проектов и вынесена отдельно из проекта. Тесты созданы на каждый проект и на общий код. Пока не будут без ошибок скомпилированы и пройдены тесты, дальнейший процесс сборки пройти не может. Смысл в том, что если общий код с ошибками, то и код каждого из проектов может дать ошибки, поэтому продолжать сборку нет смысла. Алгоритм сборки: 1. Компилирование тестов общей части кода. 2. Если компилирование без ошибок, то запускаем тесты. Если с ошибками, то прерываем весь процесс и высылаем электронное письмо с логом компилятора. 3. Если тесты пройдены без ошибок, то приступаем к компиляции проектов. Если с ошибками, то прерываем весь процесс и высылаем электронное письмо с логом тестов. 4. Тоже самое с проектами. Сначала компилируем тесты и запускаем их. Если без ошибок, то компилируем сами проекты. Если с ошибками, то весь процесс уже не прерываем, а просто пропускаем проект с ошибками и также высылаем лог компилятора или тестов на почту. 5. Сборка проходит каждую ночь в течении недели, а в воскресенье в конце сборки происходит дистрибуция бинарников на сервер обновлений. Во время дистрибуции в бинарники записывается информация о версии, последней компиляции и прочая информация. И все это происходит автоматически из одного окна FinalBuilder. Пока все нравится, полет две недели. А вот как это дерево, которое я описал, выглядит в FinalBuilder. Во вложении. Если кого-то интересуют подробности, то пишите, с удовольствием расскажу. Изменено 2 октября, 2015 пользователем Aptem alexbirukov 1 Цитата Ссылка на комментарий
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.