erp-mgroen/php-censor

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

安装: 3

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 4

分支: 0

类型:application

0.0.5 2017-09-28 16:13 UTC

This package is auto-updated.

Last update: 2024-09-06 09:37:47 UTC


README

PHP Censor Travis CI Latest Version Total downloads License SensioLabs Insight

PHP Censor

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

Dashboard

更多截图

系统需求

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

  • PHP 5.6+(带有OpenSSL支持和启用的函数:exec()shell_exec()proc_open());

  • Web服务器(Nginx或Apache2);

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

  • Beanstalkd队列(可选);

功能

  • 从Github、Bitbucket、Gitlab、Git、Mercurial、SVN或本地目录克隆项目;

  • PostgreSQLMySQLSQLite设置数据库测试;

  • 安装Composer依赖项;

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

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

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

  • 通过Email、XMPP、Slack、IRC、Flowdock、HipChat和Telegram发送通知;

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

安装

  • 转到您想安装PHP Censor的目录,例如:/var/www
cd /var/www
  • 通过Composer创建项目;
composer create-project php-censor/php-censor php-censor.local --keep-vcs

或从Github下载最新存档,解压并运行composer install

  • 为应用程序创建空数据库(MySQL/MariaDB或PostgreSQL);

  • 安装Beanstalkd队列(可选,如果您打算使用带有Worker的队列)

aptitude install beanstalkd # For deb-based
  • 安装PHP Censor本身
cd ./php-censor.local

# Interactive installation
./bin/console php-censor:install

# Non-interactive installation
./bin/console php-censor:install --url='http://php-censor.local' --db-type=pgsql --db-host=localhost --db-name=php-censor --db-user=php-censor --db-password=php-censor --db-port=null --admin-name=admin --admin-password=admin --admin-email='admin@php-censor.local' --queue-use=1 --queue-host=localhost --queue-name=php-censor

# Non-interactive installation with prepared config.yml file
./bin/console php-censor:install --config-from-file=yes --admin-name=admin --admin-password=admin --admin-email='admin@php-censor.local'

通过Docker安装

如果您想将PHP Censor作为Docker容器安装,可以使用php-censor/docker-php-censor项目。

更新

  • 转到您的PHP Censor目录(例如:/var/www/php-censor.local

    cd /var/www/php-censor.local
  • 通过Git从仓库拉取最新代码(如果您想获取最新的master分支)

    git checkout master
    git pull -r

    或拉取最新版本

    git fetch
    git checkout <version>
  • 更新Composer依赖项:composer install

  • 更新数据库模式

    ./bin/console php-censor-migrations:migrate
  • 重启Supervisord工作进程(如果您使用工作进程和Supervisord)

    sudo supervisorctl status
    sudo supervisorctl restart <worker:worker_00>
    ...
    sudo supervisorctl restart <worker:worker_nn>

    或重启Systemd工作进程(如果您使用工作进程和Systemd)

    sudo systemctl restart <worker@1.service>
    ...
    sudo systemctl restart <worker@n.service>

配置项目

设置项目有多种方法

  • 添加没有项目配置的项目(运行“零配置”插件,包括:Composer、TechnicalDept、PHPLoc、PHPCpd、PHPCodeSniffer、PHPMessDetect、PHPDocblockChecker、PHPParallelLint、PHPUnit 和 Codeception);

  • 类似于 Travis CI,为了在项目中支持 PHP Censor,您只需将一个 .php-censor.yml(与 PHPCI 兼容的 phpci.yml.phpci.yml)文件添加到您的仓库根目录;

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

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

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

有关配置项目的更多详细信息。

迁移

运行以应用最新的迁移

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

# For testing on MySQL DB
./vendor/bin/phpunit --configuration ./phpunit.mysql.xml

# For testing on PostgreSQL
./vendor/bin/phpunit --configuration ./phpunit.pgsql.xml

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

对于 B8Framework 数据库测试,请在 'localhost' 上为 MySQL 创建一个空的 'b8_test' 数据库,用户/密码为:root/<empty>',或为 PostgreSQL 创建一个空的 'b8_test' 数据库,用户/密码为:postgres/<empty>'(您可以在 phpunit.mysql|pgsql.xml 配置中更改默认测试用户、密码和数据库名称)。如果连接失败,测试将被跳过。

文档

完整的 PHP Censor 文档.

许可证

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