digital-pacific/ci-toolbox

此工具箱结合了其他各种流行的PHP工具,并可以使用Rabbit轻松运行它们

v0.7 2017-03-29 04:37 UTC

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