Как реализовать механизм пре-коммит проверки кода?

Проект на django. Репозиторий на битбакете. Есть дженкинс - используется только для деплоя по нодам.
Давно знаю. но никогда не пользовался хуками в гите. Можно ли реализовать проверку pylintом, pyflake (а може потом и для js-html-css), запустить тесты, что бы нельзя было закомитить , пока их не удовлетворишь?
К сожалению, слишком низкий уровень дисциплины в коллективе, на который я не могу влиять. Нужен такой способ, что бы поправить код было быстрее, чем вырубать или обходить проверки.

UPD.
Благодарю Станислав Фатеев за наивную реализацию, но... Слишком просто обходится, у нас это было в начале нового проекта, но большое количество "прости, надо было очень срочно поправить, а не смотреть проверки" - превратили большую часть тестов и качество кода в ничто. Я хотел обсудить, возможно ли сделать систему, к примеру, на основе дженкинса и хуков битбакета... Или других подходов, которые не рекомендуют, а заставляют "хорошо себя вести".
  • Вопрос задан
  • 2483 просмотра
Пригласить эксперта
Ответы на вопрос 2
svfat
@svfat
☺Нужен VPS? Два месяца бесплатно. Смотри профиль☺
Создайте .git/hooks/pre-commit с содержимым

python manage.py test
exit $?


"exit $?" вернет код ошибки, и если он отличен от нуля, коммит не пройдет.

Разумеется можете туда и pylint, и pyflake, и что-то для js-html-css добавить.
Ответ написан
Комментировать
@leclecovich
Посмотрите в сторону Stash, по сути это клон ББ, адаптированный для корпоративных решений. В нем Вы уже сможете настроить работу с пулл реквестами более гибко, например запрет мержа без аппрува или без билда юнит тестов. Подробнее: https://confluence.atlassian.com/plugins/servlet/m...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы