РУС | EN

14 июня(суббота) 2014 Москва

Телефон: +7 (499) 403-10-11 (многокан)
E-mail: 2014@devconf.ru

PHPCI: Система непрерывной интеграции для PHP-проектов

Дмитрий Хомутов / Corpsee
http://corpsee.com

Доклад(30 мин)    Презентация (pdf, 349 Kb)

Совсем недавно вышла из бета-версии новая система непрерывной интеграции для PHP-проектов
с открытым исходным кодом — PHPCI (текущая версия — 1.2.0).

Система пока очень молодая и не имеет достаточного количества документации и информации в сети, но при этом, с моей точки зрения, очень интересная и заслуживающая внимания со стороны PHP-разработчиков,
поэтому я хотел бы восполнить этот пробел и немного рассказать о ней.

PHPCI вряд ли может конкурировать сейчас с известными большими системами,
вроде Jankins или TeamCity, особенно для больших проектов со сложной инфраструктурой, но PHPCI отлично подойдет для маленьких или домашних проектов.

Сейчас разработка идет очень быстрыми темпами, и я не удивлюсь, если вскоре PHPCI будет вполне сопостовим по функциональности с вышеупомянутыми системами.

Если ваши проекты написаны на PHP, то у PHPCI есть преимущество перед остальными системами непрерывной интеграции уже сейчас, - она написана на PHP и для использования в PHP-проектах.

Поэтому система "из коробки" поддерживает все основные инструменты из мира PHP-разработки:

- инструменты для тестирования: PHP Unit, Codeception, Behat, Atoum;
- инструменты для инспекции коды: PDepend, PHP Code Sniffer, PHP Copy/Paste Detector, PHP Code Sniffer Fixer, PHP Docblock Checker, PHP Loc, PHP Mess Detector, PHP Parallel Lint, PHP Spec

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

Систем написана на современном PHP, придерживается стиля кода PSR-2 и имеет понятный и чистый код, а также построена на основе подключаемых плагинов,
которые реализуют запуск различных иструментов, а также различного дополнительного функционала.

Из этого следует, что программистам на PHP будет несложно разобраться в работе системы, а так же написать плагин, если нужна специфическая функциональность.

Проекты конфигурируются декларативно с помощью указания в соответствующих секциях плагинов и параметров для их запуска (в формате yml).


Программа конференции