Перейти к содержанию
Fire Monkey от А до Я

[Поделись опытом] Релиз приложений. Автоматизация процесса.


Aptem

Рекомендуемые сообщения

Коллеги, прошу поделиться опытом релиза своих приложений. Точнее процессом его предшествующим.

 

Как сделано у меня сейчас:

1. Программисты пишут код, небольшие тесты (DUnit) и заливают на SVN.

2. Тестировщики пишут UI-тесты в TestComplete и сами же их гоняют.

3. Старший разработчик сливает последние изменения с коммита, компилит все проекты, прогоняет модульные тесты, и заливает новые билды на сервер обновлений.

4. Сервер обновлений уже сам раздает новые версии приложений пользователям.

 

Как я хочу сделать (хочу попробовать непрерывную интеграцию):

1. Без изменений.

2. Без изменений.

3. Настраиваю FinalBuilder, который сам раз в неделю сливает с SVN последние версии кода, компилирует, запускает модульные и UI-тесты и заливает новые версии на сервер обновлений.

 

Технически сделать это проблем нет, все проверял, все работает по отдельности.

 

Собственно вопрос в том, а как подобные процессы устроены у вас? Может я упускаю какую-то стадию или вообще все делаю не так.

 

Прошу поделиться опытом. Очень интересно.

Ссылка на комментарий
  • 3 недели спустя...

Судя по тому, что ответов не было, опишу как это получилось у меня.

 

Получилось настроить все как я и писал выше, но пока без UI-тестов.

 

FinalBuilder оказался действительно мощным инструментов, который позволяет делать очень много и решать одни и те же задачи разными способами.

 

Итак, приступим к описанию.

 

У меня 17 модулей в группе проектов. Часть кода является общей для всех проектов и вынесена отдельно из проекта. Тесты созданы на каждый проект и на общий код. Пока не будут без ошибок скомпилированы и пройдены тесты, дальнейший процесс сборки пройти не может. Смысл в том, что если общий код с ошибками, то и код каждого из проектов может дать ошибки, поэтому продолжать сборку нет смысла.

 

Алгоритм сборки:

1. Компилирование тестов общей части кода.

2. Если компилирование без ошибок, то запускаем тесты. Если с ошибками, то прерываем весь процесс и высылаем электронное письмо с логом компилятора.

3. Если тесты пройдены без ошибок, то приступаем к компиляции проектов. Если с ошибками, то прерываем весь процесс и высылаем электронное письмо с логом тестов.

4. Тоже самое с проектами. Сначала компилируем тесты и запускаем их. Если без ошибок, то компилируем сами проекты. Если с ошибками, то весь процесс уже не прерываем, а просто пропускаем проект с ошибками и также высылаем лог компилятора или тестов на почту.

5. Сборка проходит каждую ночь в течении недели, а в воскресенье в конце сборки происходит дистрибуция бинарников на сервер обновлений. Во время дистрибуции в бинарники записывается информация о версии, последней компиляции и прочая информация.

 

И все это происходит автоматически из одного окна FinalBuilder.

 

Пока все нравится, полет две недели.

 

А вот как это дерево, которое я описал, выглядит в FinalBuilder. Во вложении.

 

Если кого-то интересуют подробности, то пишите, с удовольствием расскажу.

post-200-0-25495000-1443756565_thumb.jpg

Изменено пользователем Aptem
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...