CaptainHook — это простая в использовании и очень гибкая библиотека git-хуков для разработчиков PHP. Он позволяет вам настраивать действия git-хука в простом json-файле.
Вы можете использовать CaptainHook для проверки или подготовки сообщений о фиксации, обеспечения качества кода или запуска модульных тестов перед фиксацией или отправкой изменений в git. Вы можете автоматически очищать локальные кеши или устанавливать последние зависимости композитора после получения последних изменений.
CaptainHook позволяет легко обмениваться крючками внутри вашей команды и даже может быть уверен, что все в вашей команде активируют крючки локально.
Вы можете запускать команды cli, использовать встроенные валидаторы или писать свои собственные классы PHP, которые будут выполняться CaptainHook . Для получения дополнительной информации ознакомьтесь с документацией.
Предпочтительный способ установки CaptainHook — установка файла PHAR. Вы можете сделать это с помощью Phive или загрузить PHAR со страницы выпуска GitHub.
phive установить капитанхук
Или используйте Composer для его установки.
композитору требуется --dev Captainhook/captainhook-phar
Если вы хотите получить исходный код со всеми его зависимостями, вы можете использовать:
композитор требует --dev Captainhook/captainhook
После установки CaptainHook вы можете использовать исполняемый файл CaptainHook для создания конфигурации.
настройка поставщика/бина/капитанского крюка
После создания файла конфигурации Captainhook.json вам необходимо активировать перехватчики, установив их в локальный каталог .git. Для этого просто выполните следующую команду CaptainHook .
установка поставщика/бенга/капитанского крюка
Посмотрите это короткое видео по установке.
Одна из целей CaptainHook — облегчить команде использование одних и тех же хуков git. Если вы хотите убедиться, что все действительно устанавливают хуки, вы можете использовать небольшой hook-installer
Composer . Он запускает команду captainhook install
каждый раз, когда вы запускаете команду Composer .
композитору требуется --dev Captainhook/hook-installer
Конечно, товарищи по команде по-прежнему могут совершать коммиты, не выполняя хуки, поэтому вам также следует выполнить соответствующие проверки на бэкэнде. Но, по крайней мере, так никто не сможет забыть установить их «случайно».
Вот пример файла конфигурации Captainhook.json .
{ "commit-msg": {"enabled": true, "actions": [ {"action": "CaptainHookAppHookMessageActionBeams" } ] }, "pre-commit": {"enabled": true,"actions": [ {"действие": "phpunit" }, {"action": "phpcs --standard=psr2 src" } ] }, "pre-push": {"enabled": false, "actions": [] } }
Итак, вы хотели бы внести свой вклад в библиотеку CaptainHook
? Отличный! Большое спасибо. Мне абсолютно пригодится ваша помощь.
Ознакомьтесь с правилами внесения взносов.