发布于 2016-01-31 04:07:03 | 228 次阅读 | 评论: 0 | 来源: 分享
这里有新鲜出炉的精品教程,程序狗速度看过来!
Github代码托管服务
Github是全球最大的社交编程及代码托管网站,作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
最近参考linty_fresh实现了一个webhook服务,
提PR自动检查Flake8, 当有代码风格问题的时候,并在对应位置发评论
项目地址是: gandalf
在公司内的Github企业版上, 已经用了一段时间, 比较稳定. 现在开源出来, 有兴趣的可以拿去^.^
这个项目也是我的学习asyncio的练手作品, 吐槽下Type Hints让代码显的好丑哇…
项目知识点
- Python3: 项目需要使用Python3, 建议使用Python3.5
- rq: 工作中有一些项目的版本库很大, 实际的检查时间也会长一些, 为了保证应用解耦和更好的提供支持, 使用rq作为任务队列
- aiohttp: 基于asyncio的http库, 用来调用github api, 获取对应pr信息
- pygit2: 使用官方模块实现Python版本的git版本控制功能, 它的安装比较麻烦, 但是官方文档讲的很清楚
- Flask: 作为webhook的服务框架
来几张截图看个效果:
配置
配置webhook
需要在github的项目/组织设置页,找到Webhooks
, 然后Add webhook
,
Payload URL
输入 http://192.168.1.1:28030/api/hooks # 或者你跑起来web服务的地址
- 选择事件 ,
Let me select individual events.
然后勾选Pull Request
如图:
Enjoy it