给github项目添加CI badge

上一节讲到了 PHP 单元测试,数据库测试,那么测试报告结果怎么添加到自己的 github 项目中去呢?也或者说,怎么让程序自动帮我们完成这些工作呢?

我就简单带大家入门一下吧。估计很多朋友们对着方面其实没啥要求的,不过了解一下,搞不好以后用得着。

相关网站:

  • TravisCI

  • StyleCI

  • ScrutinizerCI

TravisCI

进去 TravisCi ,授权登录,Sign in for github,选择账号

给github项目添加CI badge_第1张图片

开发需要做集成的项目。

给github项目添加CI badge_第2张图片

添加 .travis.yml

language: php
php:
- '5.6'
- '7'

script: vendor/bin/phpunit

给github项目添加CI badge_第3张图片

根据具体测试反馈,对代码进行修正,更新,重复以上步骤,以保证代码的健壮性。

每次当我们推送代码,就会触发 travis ci,由程序自动帮我们执行如配置文件中的流程,其中除了 script 选项外,还有其他,例如: before_script, after_script,等选项,更多选项和配置请参考: TravisCI文档。

如果需要用到其他测试套件,例如 redis,mysql 等,则需要配置 services 配置项,mysql 默认账号:

username: root
password:

具体可以参考: Setting up Services and Database

StyleCI

为了保持与 StyleCI 的编码风格一致,我们需要设置 PHPStorm IDE 的编码规范。

给github项目添加CI badge_第4张图片

设置完编码规范后,通过快捷键: option + command + l 一键格式化(针对 Mac 操作)。

进入 styleci.io, 使用 github 账号登录,进入账号,选择 Repos, 选择需要进行测试的项目。

给github项目添加CI badge_第5张图片

测试完成后,系统会产生测试报告,并且可以自动发送 PR 请求到 github,帮助你一键修复代码。

可以添加如下配置信息到配置文件: .styleci.yml

preset: symfony

linting: true

enabled:
  - strict
  - strict_param
  - ordered_use

在代码提交的时候,自动执行以上规范检查。然后找到 badge 添加到 reamde.md 文件中即可显示项目构建状态。更多配置项请参考文档: StyleCi文档

StyleCI 是这么多个系统中,相对操作简单的一个质量检测系统。

Scrutinizer CI

顾名思义,他是一个执行质量检查的工具,用于规范代码和提前暴露一些代码问题。

同样的,需要授权登录在平台当中,也是使用 github 进行登录。

给github项目添加CI badge_第6张图片

添加对应需要执行的 Repository,添加完成后,可以对项目进行第一次质量检查,得出初步的信息。

给github项目添加CI badge_第7张图片

执行完成,生成报告后,可以添加测试结果图标到项目中。但如果项目上没有具体配置信息,可以在此处

给github项目添加CI badge_第8张图片

获取配置信息,添加到 .scrutinizer.yml 文件中,那么在下次执行检查的时候,就会按照指定的工作流去指定代码检查。

如果在质量检查的时候用到 dbunit 测试套件的,scrutinizer 提供相当多的套件,可以对应配置具体测试数据。

数据库默认账号:

username: root
password: 

如果想要执行创建库,创建表,可以在配置项 build 中,添加配置信息

build:
    project_setup:
            before:
                - mysql -uroot -e "CREATE DATABASE IF NOT EXISTS demo;"

更多配置请参考: Build Configuration

如果不清楚配置文件如何配置,可以参考 github 上的开源项目,找到 .travis.yml, 等隐藏文件即可,又或者可以看我的项目: fastD

暂且说这么多先把。还有很多很多的功能和测试就靠大家去发掘了。

临走前,给大家安利一个 badge 生成神器: shieldsIO

你可能感兴趣的:(ci,php)