php-censor / php-censor
PHP Censor 是一个开源的、自托管的 PHP 项目持续集成服务器 (PHPCI 分支)。 官方 Twitter @php_censor。
Requires
- php: >=7.4.0
- ext-bcmath: *
- ext-curl: *
- ext-dom: *
- ext-json: *
- ext-libxml: *
- ext-openssl: *
- ext-pdo: *
- ext-simplexml: *
- guzzlehttp/guzzle: ^6.5
- hipchat/hipchat-php: ^1.4
- jasongrimes/paginator: ^1.0
- maknz/slack: ^1.7
- monolog/monolog: ^2.2
- pda/pheanstalk: ^4.0
- php-censor/common: ^1.0
- php-censor/flowdock-client: ^2.0
- pimple/pimple: ^3.3
- psr/log: ^1.1
- robmorgan/phinx: ~0.12.0
- sebastian/diff: ^4.0
- sensiolabs/ansi-to-html: ^1.2
- swiftmailer/swiftmailer: ^6.2
- symfony/browser-kit: ^5.4
- symfony/cache: ^5.4
- symfony/console: ^5.4
- symfony/css-selector: ^5.4
- symfony/dependency-injection: ^5.4
- symfony/dom-crawler: ^5.4
- symfony/event-dispatcher: ^5.4
- symfony/filesystem: ^5.4
- symfony/finder: ^5.4
- symfony/http-foundation: ^5.4
- symfony/process: ^5.4
- symfony/yaml: ^5.4
- voku/anti-xss: ^4.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.3
- infection/infection: ^0.25
- php-censor/phpdoc-checker: ^3.0
- php-parallel-lint/php-parallel-lint: ^1.2
- phploc/phploc: ^7.0
- phpmd/phpmd: ^2.9
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.5
- sebastian/phpcpd: ^6.0
- squizlabs/php_codesniffer: ^3.5
- symfony/var-dumper: ^4.4
- vimeo/psalm: ^4.23
- dev-master
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.25.0
- 0.24.0
- 0.23.0
- 0.22.0
- 0.21.0
- 0.20.0
- 0.19.0
- 0.18.0
- 0.17.0
- 0.16.0
- 0.15.0
- 0.14.0
- 0.13.0
- 0.12.0
- 0.11.0
- 0.10.0
- 0.9.0
- 0.8.0
- 0.7.0
- 0.6.0
- 0.5.0
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.0
- dev-test-pr
- dev-release-2.1
- dev-release-2.0
- dev-2.2-secrets-cli
- dev-2.2-di
- dev-3.0-new-plugins
- dev-release-1.3
- dev-release-1.2
- dev-release-1.1
- dev-release-1.0
This package is auto-updated.
Last update: 2024-09-11 09:17:48 UTC
README
PHP Censor 是一个开源、自托管、用于 PHP 项目的持续集成服务器 (PHPCI 分支)。 官方 Twitter @php_censor。
PHP Censor 版本
更多 截图。
系统要求
-
类 Unix 操作系统 (不支持 Windows);
-
PHP 7.4+ (具有 OpenSSL 支持,并启用了函数:
exec()
、shell_exec()
和proc_open()
); -
Web 服务器 (Nginx 或 Apache2);
-
数据库 (MySQL/MariaDB 或 PostgreSQL);
-
Beanstalkd 队列;
功能
-
从 GitHub、Bitbucket (Git/Hg)、GitLab、Git、Hg (Mercurial)、SVN (Subversion) 或本地目录克隆项目;
-
为 PostgreSQL、MySQL 或 SQLite 设置和拆卸数据库测试;
-
安装 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是开源软件,许可协议为BSD-2-Clause许可证。