Description
PHP Censor is a open source self-hosted continuous integration server for PHP projects (Fork of PHPCI)
PHP Censor alternatives and similar libraries
Based on the "Continuous Integration" category.
Alternatively, view PHP Censor alternatives based on common mentions on social networks and blogs.
SaaSHub - Software Alternatives and Reviews
![SaaSHub Logo SaaSHub Logo](https://cdn-b.libhunt.com/assets/partners/saashub-small-09b040e303cf50000aca670e1c77a15c64fc5c073fbdca2665ec2b8b621efc1a.png)
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of PHP Censor or a related project?
README
PHP Censor is an open source, self-hosted, continuous integration server for PHP projects (PHPCI fork). Official twitter @php_censor.
PHP Censor versions:
Version | Latest | Branch | Status | Minimal PHP Version |
---|---|---|---|---|
1.0 (Morty Smith) |
1.0.16 |
release-1.0 |
Old version (UNSUPPORTED) | >=5.6, <8.0 |
1.1 (Birdperson) |
1.1.6 |
release-1.1 |
Old version (UNSUPPORTED) | >=5.6, <8.0 |
1.2 (Summer Smith) |
1.2.4 |
release-1.2 |
Old version (UNSUPPORTED) | >=5.6, <8.0 |
1.3 (Jerry Smith) |
1.3.7 |
release-1.3 |
Old version (UNSUPPORTED) | >=5.6, <8.0 |
2.0 (Rick Sanchez) |
2.0.7 |
release-2.0 |
Current stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | >=7.4 |
2.1 |
WIP | master |
Feature minor version (WIP) | >=7.4 |
[[Dashboard](docs/screenshots/dashboard.png)](docs/screenshots/dashboard.png)
More [screenshots](docs/en/screenshots.md).
- System requirements
- Features
- Changelog
- Roadmap
- Installing
- Updating
- Configuring project
- Migrations
- Code style
- Tests
- Documentation
- License
System requirements
Unix-like OS (Windows isn't supported);
PHP 7.4+ (with OpenSSL support and enabled functions:
exec()
,shell_exec()
andproc_open()
);Web-server (Nginx or Apache2);
Database (MySQL/MariaDB or PostgreSQL);
Beanstalkd queue;
Features
Clone project from [GitHub](docs/en/sources/github.md), [Bitbucket](docs/en/sources/bitbucket.md) (Git/Hg), [GitLab](docs/en/sources/gitlab.md), [Git](docs/en/sources/git.md), Hg (Mercurial), SVN (Subversion) or from local directory;
Set up and tear down database tests for [PostgreSQL](docs/en/plugins/pgsql.md), [MySQL](docs/en/plugins/mysql.md) or [SQLite](docs/en/plugins/sqlite.md);
Install [Composer](docs/en/plugins/composer.md) dependencies;
Run tests for PHPUnit, Atoum, Behat, Codeception and PHPSpec;
Check code via Lint, PHPParallelLint, Pdepend, PHPCodeSniffer, PHPCpd, PHPCsFixer, PHPDocblockChecker, PHPLoc, PHPMessDetector, PHPTalLint and TechnicalDebt;
Run through any combination of the other [supported plugins](docs/en/README.md#plugins), including Campfire, CleanBuild, CopyBuild, Deployer, Env, Git, Grunt, Gulp, PackageBuild, Phar, Phing, Shell and Wipe;
Send notifications to Email, XMPP, Slack, IRC, Flowdock, HipChat and [Telegram](docs/en/plugins/telegram_notify.md);
Use your LDAP-server for authentication;
Changelog
[Versions changelog](CHANGELOG.md).
Roadmap
See milestones.
Installing
See [Installing](docs/en/installing.md) section in documentation;
Updating
See [Updating](docs/en/updating.md) section in documentation;
Configuring project
There are several ways to set up the project:
Add project without any project config (Runs "zero-config" plugins, including: Composer, TechnicalDebt, PHPLoc, PHPCpd, PHPCodeSniffer, PHPMessDetector, PHPDocblockChecker, PHPParallelLint, PHPUnit and Codeception);
Similar to Travis CI, to support PHP Censor in your project, you simply need to add a
.php-censor.yml
file to the root of your repository;Add project config in PHP Censor project page (And it will cancel file config from project repository);
The project config should look something like this:
setup:
composer:
action: "install"
directory: "."
test:
php_unit:
config: "phpunit.xml"
php_mess_detector:
allow_failures: true
php_code_sniffer:
standard: "PSR2"
php_cpd:
allow_failures: true
complete:
email_notify:
default_mailto_address: [email protected]
More details about [configuring project](docs/en/configuring_project.md) in documentation.
Migrations
Run to apply latest migrations:
cd /path/to/php-censor
./bin/console php-censor-migrations:migrate
Run to create a new migration:
cd /path/to/php-censor
./bin/console php-censor-migrations:create NewMigrationName
Code style
cd /path/to/php-censor
./vendor/bin/php-cs-fixer fix --allow-risky=yes
Tests
cd /path/to/php-censor
./vendor/bin/phpunit --configuration ./phpunit.xml.dist --coverage-html ./tests/runtime/coverage -vvv --colors=always
For Phar plugin tests set 'phar.readonly' setting to Off (0) in php.ini
config. Otherwise the tests will be skipped.
For database tests create an empty 'test_db' database on 'localhost' with user/password: root/<empty>
for MySQL and with user/password: postgres/<empty>
for PostgreSQL (You can change default test user, password and
database name in phpunit.xml[.dist]
config constants). If connection failed the tests will be skipped.
Documentation
[Full PHP Censor documentation](docs/en/README.md).
License
PHP Censor is open source software licensed under the [BSD-2-Clause license](LICENSE).
*Note that all licence references and agreements mentioned in the PHP Censor README section above
are relevant to that project's source code only.