php-censor/php-censor

PHP Censor 是一个开源的、自托管的 PHP 项目持续集成服务器 (PHPCI 分支)。 官方 Twitter @php_censor

安装: 819

依赖项: 0

建议者: 0

安全: 1

星标: 677

关注者: 28

分支: 143

开放问题: 23

类型:应用


README

Minimum PHP version: 7.4.0 Actions PHP Censor Codecov Latest Version Total downloads License

PHP Censor

PHP Censor 是一个开源、自托管、用于 PHP 项目的持续集成服务器 (PHPCI 分支)。 官方 Twitter @php_censor

PHP Censor 版本

Dashboard

更多 截图

系统要求

  • 类 Unix 操作系统 (不支持 Windows);

  • PHP 7.4+ (具有 OpenSSL 支持,并启用了函数:exec()shell_exec()proc_open());

  • Web 服务器 (Nginx 或 Apache2);

  • 数据库 (MySQL/MariaDB 或 PostgreSQL);

  • Beanstalkd 队列;

功能

  • GitHubBitbucket (Git/Hg)、GitLabGit、Hg (Mercurial)、SVN (Subversion) 或本地目录克隆项目;

  • PostgreSQLMySQLSQLite 设置和拆卸数据库测试;

  • 安装 Composer 依赖项;

  • 运行 PHPUnit、Atoum、Behat、Codeception 和 PHPSpec 的测试;

  • 通过 Lint、PHPParallelLint、Pdepend、PHPCodeSniffer、PHPCpd、PHPCsFixer、PHPDocblockChecker、PHPLoc、PHPMessDetector、PHPTalLint 和 TechnicalDebt 检查代码;

  • 通过任何组合运行其他 支持的插件,包括 Campfire、CleanBuild、CopyBuild、Deployer、Env、Git、Grunt、Gulp、PackageBuild、Phar、Phing、Shell 和 Wipe;

  • 将通知发送到 Email、XMPP、Slack、IRC、Flowdock 和 Telegram;

  • 使用您的 LDAP 服务器进行身份验证;

变更日志

版本变更日志.

路线图

查看 里程碑

安装

在文档中查看 安装 部分;

更新

在文档中查看 更新 部分;

配置项目

有几种方法可以设置项目

  • 添加不带任何项目配置的项目(运行 "零配置" 插件,包括:Composer、TechnicalDebt、PHPLoc、PHPCpd、PHPCodeSniffer、PHPMessDetector、PHPDocblockChecker、PHPParallelLint、PHPUnit 和 Codeception);

  • 类似于Travis CI,要在项目中支持PHP Censor,您只需将一个.php-censor.yml文件添加到您仓库的根目录;

  • 在PHP Censor项目页面上添加项目配置(这将取消项目仓库中的文件配置);

项目配置应该看起来像这样

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: admin@php-censor.local

有关在文档中配置项目的更多详细信息,请参阅配置项目

迁移

运行以应用最新的迁移

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

运行以创建新的迁移

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

代码风格

cd /path/to/php-censor

./vendor/bin/php-cs-fixer fix --allow-risky=yes

测试

cd /path/to/php-censor

./vendor/bin/phpunit --configuration ./phpunit.xml.dist --coverage-html ./tests/runtime/coverage -vvv --colors=always

对于Phar插件测试,请在php.ini配置中将phar.readonly设置设置为关闭(0)。否则,测试将被跳过。

对于数据库测试,在'localhost'上创建一个空数据库,并为MySQL/PostgreSQL设置用户/密码,然后从phpunit.xml.dist配置中设置环境变量。例如

#!/usr/bin/env bash

psql --username="test" --host="127.0.0.1" --echo-all --command="DROP DATABASE IF EXISTS \"php-censor-test\";"
psql --username="test" --host="127.0.0.1" --echo-all --command="CREATE DATABASE \"php-censor-test\";"

mysql --user="test" --password="test" --host="127.0.0.1" --verbose --execute="CREATE DATABASE IF NOT EXISTS \`php-censor-test\`;"

export SKIP_DB_TESTS=0;\
export POSTGRESQL_DBNAME=php-censor-test;\
export POSTGRESQL_USER=test;\
export POSTGRESQL_PASSWORD=test;\
export MYSQL_DBNAME=php-censor-test;\
export MYSQL_USER=test;\
export MYSQL_PASSWORD=test;\
vendor/bin/phpunit --configuration=phpunit.xml.dist --verbose

文档

完整的PHP Censor文档.

许可证

PHP Censor是开源软件,许可协议为BSD-2-Clause许可证