Go to file
Dmitry Khomutov 60267cc315 Small updates
2017-01-06 11:15:08 +07:00
app Fixed plugins and tests 2017-01-06 11:14:45 +07:00
bin Added custom console Application class with migrations 2016-12-30 23:40:14 +07:00
docs Improved README and docs 2017-01-04 21:42:26 +07:00
public Implementation of an alternative PHPUnit plugin: 2017-01-05 17:59:58 +07:00
runtime Refactored structure 2016-06-23 21:18:41 +06:00
src Fixed plugins and tests 2017-01-06 11:14:45 +07:00
tests Fixed plugins and tests 2017-01-06 11:14:45 +07:00
.gitignore Fixed plugins and tests 2017-01-06 11:14:45 +07:00
.phpci.yml Fixed configs 2016-06-23 21:28:15 +06:00
bootstrap.php Fixed naming (phpci -> php-censor) 2016-07-21 23:02:11 +06:00
composer.json Small updates 2017-01-06 11:15:08 +07:00
composer.lock Small updates 2017-01-06 11:15:08 +07:00
LICENSE.md Small updates 2017-01-06 11:15:08 +07:00
phpcs.xml Fixed namespaces (PHPCI -> PHPCensor) 2016-07-20 18:27:32 +06:00
phpmd.xml Fixed naming (PHPCI -> PHP Censor) 2016-07-19 22:35:21 +06:00
phpunit.xml Fixed tests 2017-01-04 15:16:20 +07:00
README.md Improved README and docs 2017-01-04 21:42:26 +07:00

PHP Censor

PHP Censor is a fork of PHPCI (And B8Framework) and is a open source (BSD-2-Clause license) continuous integration tool specifically designed for PHP.

What it does

  • Clones your project from Github, Bitbucket, Gitlab or Git;

  • Allows you to set up and tear down test databases;

  • Installs your project's Composer dependencies;

  • Runs through any combination of the supported plugins);

Dashboard

More screenshots.

Configuring

Similar to Travis CI, to support PHP Censor in your project, you simply need to add a .php-censor.yml (phpci.yml/.phpci.yml for backward compatibility with PHPCI) file to the root of your repository. The file should look something like this:

setup:
  composer:
    action: "install"
test:
  php_unit:
    config: "phpunit.xml"
  php_mess_detector:
    allow_failures: true
  php_code_sniffer:
    standard: "PSR2"
  php_cpd:
    allow_failures: true
complete:
  email:
    default_mailto_address: admin@php-censor.local

More details about configuring project.

Installing

You will need PHP 5.6+ (with OpenSSL support and enabled functions: exec(), shell_exec() and proc_open()) with web-server (Nginx or Apache2), MySQL (or MariaDB) database and Composer.

  • Go to the directory in which you want to install PHP Censor, for example: /var/www;

  • Download PHP Censor from this repository and unzip it (to /var/www/php-censor.local for example);

  • Go to the PHP Censor directory: cd /var/www/php-censor.local;

  • Install dependencies using Composer: composer install;

  • Create empty MySQL database for application;

  • Install Beanstalkd queue (aptitude install beanstalkd);

  • Install PHP Censor itself: ./bin/console php-censor:install;

  • Add a virtual host to your web server, pointing to the public directory within your new PHP Censor directory. You'll need to set up rewrite rules to point all non-existent requests to PHP Censor;

  • Set up the PHP Censor Worker, or you can run builds using the daemon or a cron-job to run PHP Censor builds;

More details about installation.

Updating

  • Go to your PHP Censor directory (to /var/www/php-censor.local for example);

  • Pull the latest code. This would look like this: git pull;

  • Update the PHP Censor database: ./bin/console php-censor-migrations:migrate;

  • Update the Composer dependencies: composer update

Tests

cd /path/to/php-censor
./vendor/bin/phpunit

For Phar plugin tests set 'phar.readonly' setting to Off (0) in php.ini config. Otherwise tests will be skipped.

For database B8Framework tests create empty 'b8_test' MySQL database on 'localhost' with user/password: root/root. Otherwise database tests will be skipped.

Migrations

Run to apply latest migrations:

cd /path/to/php-censor
./bin/console php-censor-migrations:migrate

Run to create new migration:

cd /path/to/php-censor
./bin/console php-censor-migrations:create NewMigrationName

Documentation

Full PHP Censor documentation.

License

PHP Censor is open source software licensed under the BSD-2-Clause license.