编辑我的项目的phpci.yml文件

时间:2015-11-11 18:03:39

标签: php continuous-integration phpcodesniffer php-ci

我已经安装了PHPCI,并在PHPCI中添加了一个名为“myproject”的项目进行测试。有人问我应该在项目的根目录中包含一个'phpci.yml'文件。这是'phpci.tml'文件的样子:

单击here以查看文件模式。我应该编辑这个文件的哪一部分,将其作为myproject的描述包含在我的项目中,如下所示?

  1. Project root direcotry:myproject
  2. 数据库名称:mydb
  3. 数据库用户:root
  4. 数据库传递:秘密
  5. host:localhost
  6. 有人可以在这方面帮助我吗?

1 个答案:

答案 0 :(得分:1)

首先,您需要在项目的根目录中创建 phpci.yml 文件,在您的情况下,它将是 myproject / phpci.yml 。此文件包含插件的配置和用法。您可能还需要项目中的这些插件来进行PHP-CI测试构建。使用composer将这些插件包含在项目中。为此,请在项目的根目录 myproject / composer.json 中添加另一个文件。

当PHP-CI无法从其自己的目录中找到插件时,就会发生这种情况,然后它使用项目的供应商目录来执行这些插件。

示例文件/配置格式:

假设你有这样的目录结构:

  • ./的myproject /
  • ./ myproject的/受保护/
  • ./的myproject /资产/
  • ./ myproject的/受保护/运行/

并且您希望在 ./ myproject / protected / 上运行PHP-CI,同时希望跳过 ./ myproject / assets / & ./ myproject / protected / runtime / 目录然后您的 phpci.yml 将如下所示:

phpci.yml

build_settings:
    ignore:
        - "assets"
        - "protected/runtime/"
setup:
    composer:
        action: "install"
test:
    php_parallel_lint:
        directory: "protected"
        ignore:
            - "assets"
            - "protected/runtime"
    php_code_sniffer:
        path: "protected"
        ignore:
            - "assets"
            - "protected/runtime"
        standard: "code-sniffer-settings.xml"
        allowed_errors: 10
        allowed_warnings: 10
    php_unit:
        config:
            - "protected/tests/phpunit.xml"
        args: "--stderr"
        path: "protected/tests/unit"
    php_cpd:
        allow_failures: true
        path: "protected"
        ignore:
            - "assets"
            - "protected/runtime"
    php_docblock_checker:
        allowed_warnings: -1
        path: "protected"
        ignore:
            - "assets"
            - "protected/runtime"
    php_loc:
        directory: "protected"
    pdepend:
        directory: "protected"

composer.json

{
    "require-dev": {
        "squizlabs/php_codesniffer": "2.*",
        "sebastian/phpdcd": "*",
        "phpmd/phpmd" : "@stable",
        "phpunit/phpunit": "4.0.*",
        "sebastian/phpcpd": "*",
        "jakub-onderka/php-parallel-lint": "0.*",
        "phpunit/php-code-coverage": "2.0.0",
        "pdepend/pdepend": "2.2.2"
    }
}

至于回答你的问题:

  

我应编辑此文件的哪一部分以将其包含在我的项目中

更改测试:phpci.yml中的部分并删除您不希望由PHP-CI执行的额外插件,同时保留作曲家部分,PHP-CI将自动运行composer在测试构建时。