【Jenkins】Github Pull Request提交时自动做PHPCS检查和修复



    代码规范的推进需要借助PHPCS来做自动化的校验和修复,而落地时需要结合Github Pull Request做提交时的自动检查。这里面就需要借助到了系统集成工具Jenkins,亲自做了一遍完整部署供大家参考。

    Jenkins安装

    1. 安装java环境
    2. 下载Jenkins:执行 wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war
    3. 运行Jenkins:执行java -jar jenkins.war,后台方式运行执行nohup java -jar jenkins.war &。启动后war包会解压到~/.jenkins目录并生成配置文件和目录
    4. 网页打开http://localhost:8080/进行后续配置,非本地访问可采用IP或域名


    Jenkins全局配置

    1. 安装插件 Manage plugins
    2. 系统配置:Configure System,能配置的尽量配置
    3. 安全设置:Configure Global Security:Enable security; Security Realm选择Jenkins's own user database 并且勾选Allow users to sign up;在Authorization下配置权限,注意默认是你们用户有管理员权限,在单独添加真正地管理员权限前不要去除这个配置,否则自己就进不了管理配置了;这步可以参考Jenkins入门教程写得比较详细

    Github配置

    1. 添加Personal Access Token:https://github.com/settings/tokens/,添加repo和admin:repo_hook权限,生成并记住token在后续Jenkins配置中使用
    2. 在Github代码库的Settings 》Webhooks中添加Webhook,地址为http://jenkins_server_ip:8080/github-webhook/,events选择Pull Request和Push,并勾选激活

    Jenkins项目配置

    1. 添加“构建一个自由风格的软件项目”
    2. 项目名称使用驼峰命名全英文不带空格
    3. General: 勾选Github project,输入Project url如https://github.com/your_github_username/your_project/,高级输入Display name为后续再github PR界面提示的校验步骤名称
    4. 源码管理,选择Git,Repositories 》Repository URL,输入如https://github.com/your_github_username/your_project.git的地址,Credentials添加你的github用户名和密码,高级》Name输入remote名称(英文无空格),Refspec输入+refs/pull/*:refs/remotes/origin/pr/*;Branch Specifier输入${sha1};源代码浏览器选择githubweb,URL输入如https://github.com/your_github_username/your_project/
    5. 构建触发器:勾选Build when a change is pushed to GitLab.;勾选GitHub Pull Request Builder,Admin list输入自己的github用户名(如不添加发PR时会自动加一个comment);勾选Use github hooks for build triggering
    6. 构建环境:勾选Abort the build if it's stuck, Timeout minutes输入5;勾选Set Build Name,输入#${BUILD_NUMBER}
    7. 构建:添加步骤Set build status to "pending" on GitHub commit;添加Excute shell,输入phpcs校验脚本的完整路径,完整脚本见这里
    8. 构建后步骤:添加Set build status on GitHub commet;高级》Result on failure选择Failure

    集成测试

    1. 完成后就可以通过提交PR测试构建是否成功了,构建结果可以在系统中看到,命令执行结果可以在Console Output中看到
    2. 当看到结果不对时,那么可以通过服务器终端上的Jenkins服务器日志和Console Output来定位是哪里配置出问题了,具体还是要仔细来定位和修复
    3. 亲测走通了

    Jenkins忘记密码

     

    参考文章

    1. Jenkins入门教程
    2. GitHub and Jenkins pull request checking
    3. GitHub Pull Request Builder


    本博客所有文章如无特别注明均为原创。
    复制或转载请以超链接形式注明转自枫芸志,原文地址《【Jenkins】Github Pull Request提交时自动做PHPCS检查和修复
    分享:

还没有人抢沙发呢~

无觅相关文章插件,快速提升流量