Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

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

Anna | 29.05.2014 | нет комментариев

Вовсе незадолго вышла из бета-версии новая система постоянной интеграции для PHP-планов с открытым начальным кодом — PHPCI (нынешняя версия — 1.1.0), она мимоходом упоминалась в дайджесте PHP №21.


Я теснее какое-то время эксперементирую с этой системой, следственно хочу представить вам маленький ее обзор, тем больше что на Прогре нет ни одной статьи о ней.

Теперь PHPCI доступна в 2-х вариантах: аренда по подписке, а так же self-hosted установка из начального кода.

Плагины

Система написана на PHP и для PHP, следственно «из коробки» поддерживает значительный перечень инструментов из мира PHP по средством плагинов:

а так же имеет несколько плагинов всеобщего назначения либо не связанных напрямую с PHP инструментами:

План достаточно теперешний и требует версию PHP не ниже 5.3, использует PDO для подключения к базам данных и в целом, на мой взор, имеет примитивный и внятный начальный код, использующий пространства имен для классов и PSR-2 жанр для кода, что бесспорно дюже отлично.

Плагины, как правило, достаточно примитивные и небольшие по объему кода,следственно написать личный плагин для инструмента, тот, что не поддерживаются в стандартной поставке, не составит большого труда.

Конфигурация планов

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

Файл конфигурации phpci.yml берется из корня репозитория плана (либо легко рабочей директории плана, если речь идет о локальном источнике), так же есть вероятность задать конфигурацию непринужденно в плане PHPCI при его создании.

Ниже маленький пример файла конфигурации phpci.yml:

build_settings:
    ignore: 
        - "vendor"
        - "tests"
setup:
    composer:
        action: "install"
test:
    php_unit:
        config:
            - "phpunit.xml"
        coverage: "logs/tests_coverage"
        args:     "--stderr"
    php_mess_detector:
        allow_failures: true
    php_cpd:
        allow_failures: true
    php_loc:
        allow_failures: true
    php_parallel_lint:
        allow_failures: true
Файл конфигурации имеет несколько корневых раздела:
  • build_settings — настройки сборки плана (пренебрежение директорий, настройки подключения к базам данных)
  • setup — раздел инициализации сборки плана (установка зависимостей, выполнение запросов к базам данных, миграции для баз данных)
  • test — раздел тестирования готовой сборки плана (над сборкой плана запускаются разные плагины, которые возвращают удачный либо нет итог, провал, как правило, приводит к провалу сборки, правда для отдельных плагинов это не так и дозволено установить число ошибок, приводящих к провалу каждой сборки)
  • complete — раздел, вызываемый системой позже тестирования самостоятельно от его итога
  • success — раздел, вызываемый системой позже тестирования только в случае удачной сборки и тестирования плана
  • failure — раздел, вызываемый системой позже тестирования только в случае провала сборки либо тестирования плана

Источники

Система поддерживает в качестве источника планов: Github, Gitlab, Bitbucket, Git, Hg либо локальную директорию. Svn пока не поддерживается (не уверен, что его помощь вообще есть в планах).

Ложка дегтя

Невзирая на всю свою притягательность, PHPCI вовсе молод и много (пока) не может:

  • как я теснее писал выше, он не может трудиться с Svn
  • не может разворачиваться на хороших от MySQL базах данных (правда для операций в планах теснее есть плагин для PostgreSQL)
  • не может трудиться при сборке с реляционными базами данных MSSQL, OracleSQL, SQLite и т.д.
  • не может всецело разворачивать план штатными средствами (правда этого и дозволено добиться, применяя Shell плагин)
  • не может трудиться с NoSQL базами данных

Резюме

Мне лично план видится дюже отличным и необходимым, но пока немножко сыроватым. Применять эту систему для крупных планов пока может быть проблематическим, но с иной стороны, для маленьких домашних планов PHPCI чудесно подходит теснее теперь.

Как установить систему дозволено узнать на странице в официальной wiki плана.

Источник: programmingmaster.ru

 

Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB