首页 > 程序开发, 酷软搜索 > 【Jenkins】Github Pull Request提交时自动做PHPCS检查和修复

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

2017年4月16日 发表评论 阅读评论

代码规范的推进需要借助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

枫芸志原创文章,转载请注明来源并保留原文链接




本文链接:http://witmax.cn/jenkins-phpcs.html




分类: 程序开发, 酷软搜索 标签: 621次阅读
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
订阅评论
  欢迎参与讨论,请在这里发表您的看法、交流您的观点。

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