OberonCore
https://forum.oberoncore.ru/

Непрерывная интеграция для BlackBox проектов
https://forum.oberoncore.ru/viewtopic.php?f=127&t=5419
Страница 1 из 1

Автор:  Иван Денисов [ Воскресенье, 24 Май, 2015 11:50 ]
Заголовок сообщения:  Непрерывная интеграция для BlackBox проектов

Как многие наверное уже знают, для разработки Блэкбокса в Центре была придумана достаточно удобная схема организации непрерывной интеграции. Так теперь, стоит сделать фиксацию в хранилище в любой из веток, как на сервере запускается процесс сборки Блэкбокса и подготовка файла с его архивом и установочным файлом. Технически система представляет из себя скрипт на языке Питон, связывающий набор вспомогательных приложений, а также подсистему Script, которая позволяет передавать Блэкбоксу файлы через параметры командной строки для исполнения. Так, при фиксации в хранилище, вызывается Hook (скрипт на php), который инициирует обновление хранилища на сервере Центра. Раз в минуту по расписанию Cron запускает скрипт сборки, который проверяет нет ли чего-то нового в локальном хранилище, и если есть, то выполняется вся последовательность процедур сборки проекта.

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

Адаптировав скрипт Центра для каждого из проектов, мы получаем желаемое.
Пока я организовал автоматическую сборку трех проектов: http://dev.molpit.com/
Один из них полностью открыт, поэтому можно поглядеть как это организовано и что получается.
Вот такой скрипт собирает проект:
http://molpit.com/pub/diaball/make_py.txt
и выкладывает в папки unstable и stable
http://molpit.com/pub/diaball

Автор:  Пётр Кушнир [ Воскресенье, 24 Май, 2015 12:28 ]
Заголовок сообщения:  Re: Непрерывная интеграция для BlackBox проектов

Я так понимаю, это основано на использовании установленного в одном и том же месте экземпляра ББ, когда пользовательские файлы лежат в /USE и затереть пользовательские файлы новым билдом нет никакой опасности?

Автор:  Иван Денисов [ Воскресенье, 24 Май, 2015 12:50 ]
Заголовок сообщения:  Re: Непрерывная интеграция для BlackBox проектов

Пётр Кушнир писал(а):
Я так понимаю, это основано на использовании установленного в одном и том же месте экземпляра ББ, когда пользовательские файлы лежат в /USE и затереть пользовательские файлы новым билдом нет никакой опасности?

При разработке у меня файлы лежат в /USE. Сборщика эти файлы копирует поверх сборки Центра.
У пользователя файлы (результаты измерений, настройки и т.п.) виртуализуются виндой, поэтому при обновлении программы они не могут пострадать. Ну, а если пользователь скачивает программу архивом, то уже сам заботится, чтобы файлы перенести. Опыт обновления пока не очень большой.
Заставлять пользователя мороковать с /USE ­- садизм :)

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/