Я думаю многим известен сервис Hound, который занимается автоматической проверкой кода. Когда вы создаете новый Pull Request на GitHub, Hound запускает проверку вашего кода на основе таких решений, как rubocop, haml-lint или scss-lint. Если в процессе проверки всплывают какие-то проблемы, Hound сообщит об этом, добавив соответствующий комментарий в ваш Pull Request. Это отличный инструмент для работы, но как говорится, за всё хорошее, приходится платить.
Не каждая компания готова платить такие деньги, поэтому я решил пойти другим путём. За основу взял библиотеку pronto, которая из коробки умеет всё тоже самое, что и Hound. Осталось дело за малым - интегрировать pronto с Vexor. Далее идет пошаговая инструкция, что для этого понадобится сделать.
Первым делом заходим на GitHub и генерируем персональный токен.
Затем, добавляем 2 переменные окружения в настройках вашего проекта на Vexor.
Далее, добавляем pronto и несколько его плагинов в Gemfile
вашего проекта. Список доступных плагинов можно найти по этой ссылке.
Для запуска pronto нам потребуется создать файл bin/pronto
:
И дать ему права на выполнение:
Теперь нам остаётся только добавить несколько команд в .vexor.yml
:
И всё, можно проверять.
Кто-то может возразить, зачем всё это нужно, если есть overcommit? Новые разработчики на проекте часто забывают настроить overcommit и это обнаруживается только спустя несколько дней, когда другой разработчик не может отправить свои изменения на сервер. Чтобы исключить подобные ситуации, я рекомендую использовать эти инструменты вместе.
P.S. Хочу поблагодарить Сашу Кириллова, за помощь с интеграцией pronto и Vexor.