Sismo - это небольшой проект для CI (Continuous Integration). Делает необходимый минимум: получить код, запустить тесты, выдать результат. Официально преостановлена разработка и отказ от всевозможных плюшек с целью сохранения простоты проекта. Возможно, чтобы не создавать конкуренцию. Более того, если верить истории проекта, ранше там было уведомление в PR на гитхабе, затем удалено. Сейчас остались всякие "забавные" нотификаторы на андроид, макось, линукс, виндоус и т.д.
travis-ci - mainstream в CI решений. Имеет достаточное количество плюшек, работает со многими языками, интегрируется с гитхабом и PR. Но он достаточно дорог для приватных репозиториев.
jenkins-ci и некоторые другие, являются монстрами CI. Тут речь уже идет о целой настройке сервиса, подключения IT отдела. Вы уже "пляшите" под чужую дудку и интеграция не ограничвается 5 строчками в настройке проекта. Предоставляемых возможностей много, но для большинсвта проектов это излишне.
Небольшие компании, проекты, в которых нет возможнсти оплачивать travis и нет нужды в разворачивании более мощных средств.
Локальная разработка в крупных проектах, использующих даже travis-ci. Прелесть Sismo в том, что его очень просто развернуть локально, это позволяет упростить локальный процесс разработки. Вы всегда можете иметь автоматическую проверку без отправки PR.
Поэтому к потенциальным клиентам можно отнести и индивидуальных разработчиков, стартапы и фрилансеров.
Самый главный недостаток Sismo, что он конфигурируется только с помощью создания config.php
.
Во-первых, это накладывает большие ограничения на распространение конфигурации. Вы не можете хранить в своем проекте столь странный конфиг.
Даже если вы и закомитете эти настройки, скорее всего им нельзя будет воспользоваться остальным разработчикам.
Из этого вытекает проблема поддержки CI. У вас немного изменились правила деплоя проекта, или хотите добавить тест свой.
Вы вынуждены постоянно помнить и следить за config.php
на сервере и вовремя исправлять его.
Во-вторых, config.php
един для всех проектов. Если у вас развернут sismo на сервере, а отдел разрабатывает несколько проектов, что делать?
Разворачивать каждому проекту свой sismo? Звучит не очень разумно.
Поэтому очень хочется иметь настройки в файле аналогичном .travis.yml
, например, .sismo.yml
.
Мы можем сделать форк проекта, но этим самым потеряем потенциальных пользователей своей системы.
Есть идея, на мой взгляд гениальная, создать генератор config.php
на основе .sismo.yml
.
Это будет такой же небольшой проект, который упростит работу с Sismo, расширит его возможности, не затронув его самого.
YAML
файл?php
файл?Можно задуматься о дальнейшем развитии направления.
Эти направления представляют может больше академического интереса.