【问题标题】:Editing phpci.yml File for my Project为我的项目编辑 phpci.yml 文件
【发布时间】:2015-11-11 18:03:38
【问题描述】:

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

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

  1. 项目根目录:myproject
  2. 数据库名称:mydb
  3. 数据库用户:root
  4. 数据库密码:秘密
  5. 主机:本地主机

有人可以在这方面帮助我吗?

【问题讨论】:

    标签: php continuous-integration phpcodesniffer php-ci


    【解决方案1】:

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

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

    示例文件/配置格式:

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

    • ./myproject/
    • ./myproject/protected/
    • ./myproject/assets/
    • ./myproject/protected/runtime/

    并且您想在 ./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 中的 test: 部分并删除您不希望由 PHP-CI 执行的额外插件,同时保留 composer 部分,PHP-CI 将自动运行 composer测试构建时。

    【讨论】:

    • 感谢 Waqar 提供如此丰富的答案。我懂了。感谢您的帮助。现在还有一件事是: 1. 如果我希望每当我从本地存储库提交时,我的提交应该使用 PHP CI 从我的位存储桶存储库自动部署到我的登台服务器怎么办? 2.构建必须自动启动,而不是我每次都手动构建?您能否在这方面指导我或建议一些有用的文档或播客?
    • 如果我只想部署(而不是测试代码)我的提交自动从我的比特桶存储库到我的登台服务器呢?
    • 据我所知,PHP-CI 不提供部署功能。如果您在 git 中提交任何内容但它不会部署,它可以运行/测试构建。在这里查看github.com/Block8/PHPCI/wiki/Autobuilding-From-GitHub 了解通过 git 自动部署到任何服务器的更多详细信息,请看这里digitalocean.com/community/tutorials/… 您也可以使用 Capistrano 进行构建部署capistranorb.com
    猜你喜欢
    • 1970-01-01
    • 2021-11-07
    • 2020-02-13
    • 1970-01-01
    • 2017-07-11
    • 2021-04-02
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多