digital-pacific / ci-toolbox
此工具箱结合了其他各种流行的PHP工具,并可以使用Rabbit轻松运行它们
Requires
- php: >=5.5
- jakub-onderka/php-console-highlighter: 0.3.2
- jakub-onderka/php-parallel-lint: 0.9.2
- phpmd/phpmd: 2.4.3
- phpunit/phpunit: 4.8.*
- sebastian/phpcpd: 2.0.4
- squizlabs/php_codesniffer: 2.6.0
This package is not auto-updated.
Last update: 2024-09-24 21:14:00 UTC
README
此工具箱包含用于确保持续集成稳定性的流行PHP实用工具。
在此包中,您将找到 rabbit.yaml 文件,该文件用于运行所有包含的实用工具。Rabbit 是一个易于安装的 Python 应用程序 https://github.com/ouijan/rabbit。
安装 - 包
在您的 composer.json
文件中添加该包,并运行 composer install
命令进行安装
{ "require-dev": { "digital-pacific/ci-toolbox": "0.*" } }
安装 - Rabbit
Rabbit 是一个可以通过 pip 安装的 Python 模块,有关安装说明,请访问 Rabbit 的 repo。
安装后,将 rabbit 文件夹中的适当 yaml 文件复制到您代码的根目录中。重命名文件为 rabbit.yaml。
如果一切安装正确,请运行
$ rabbit
它应该显示
Usage: rabbit [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
compliance
duplicates Uses PHPCPD to detect duplicate lines of code
lint Uses parallel-lint to parse the current...
rules Uses PHP Mess Detector to run code against...
separator Separator to go in-between different commands
unittest Uses PHPUnit to run unit tests on the...
utility-suite Complete testing suite.
安装 - 补丁
此工具箱只是其他具有自身依赖项的实用工具的集合。其中之一是名为 patch 的程序。
patch 程序已在 OSX 上安装
Centos 安装
$ yum install patch
Ubunutu 安装
$ apt-get install patch
用法
此工具箱只是流行的PHP实用工具的集合,并提供了一种方便的方法来使用 Rabbit 运行它们。
此工具箱中有 5 个实用工具
Rabbit 的设置方式是单独运行这些实用工具或作为套件运行。
如果您将此包导入到现有项目中,建议首先单独运行每个实用工具,修复报告的问题,并根据项目需求调整 rabbit.yaml 文件,然后再运行整个实用工具套件。
运行单个实用工具的示例
$ cd /path/to/the/root/of/your/application
$ rabbit lint
单独运行完实用工具后,您可以使用以下命令运行整个套件
$ rabbit utility-suite
此命令运行每个单个实用工具,并使用该实用工具的退出代码退出。因此,如果在执行此命令时第一个实用工具的退出代码不是 0,则在该实用工具之后不会运行其他实用工具。这在持续集成环境中很有用,其中脚本可以调用此单个命令来运行整个套件,并且如果套件以代码 0 退出,则可以确信一切已通过。
如果您需要记住已设置的不同的 Rabbit 命令,您可以通过查看 rabbit.yaml 文件或运行以下命令来查看
$ rabbit
Bitbucket 管道
Bitbucket 有一个名为管道的新功能,可以在 PHP 项目中利用此工具箱。
已创建一个专门用于与该工具箱一起使用的 Docker 镜像,可在 php-ci-toolbox 找到。
以下是一个用于运行此 ci-toolbox 的示例 bitbucket-pipelines.yml 文件。
image: gblankenship/php-ci-toolbox:latest
pipelines:
default:
- step:
script:
- composer -V
- composer install
- cp vendor/digital-pacific/ci-toolbox/rabbit/laravel.rabbit.yaml ./rabbit.yaml
- rabbit utility-suite