前言
持续集成(Continuous Integration)已经是公认的保证产品质量和开发快速迭代的开发实践了。
目前常见的CI服务器有2种:
- Jenkins。 Jenkins是一个用Java编写的开源的持续集成工具, 它有丰富的插件和完善的API, 但实际工作中发现它不太稳定, Python和前端工程师很难对其进行二次开发, 页面和功能也有些陈旧。
- Travis CI。 一个针对Github的云服务平台, 只对开源项目提供免费的CI服务。
本篇博客将给大家介绍一个新的持续集成工具Strider。
一个使用Node.js开发的、 开源的持续集成和发布服务器。 目前它已经支持Github、 Bitbucket、 Gitlab等平台, 支持Python、
Ruby、 Node.js和其他自定义的应用。
虽然它使用常见了bootstrap, 但是页面效果还是很不错的。
在使用之前, 我们先创建一个Github开发者应用,
内容如下图:
然后在Github上创建一个用来测试的项目dongweiming/tola。使用Strider集成
使用最新版的Node.js:
1 |
|
安装Strider:
1 |
|
Strider配置项很多, 可以在Strider目录下添加.striderrc文件:
1 |
|
创建管理员用户:
1 |
|
启动服务, 需要上面创建的开发者应用的APP_ID和APP_SECRET(如果使用Github企业版,
需要设置PLUGIN_GITHUB_API_DOMAIN和PLUGIN_GITHUB_API_ENDPOINT):
1 |
|
访问http://VPS:3000/login, 使用之前创建的管理员用户登录。 目前还没有配置项目:
Strider默认开启了Github、 Bitbucket、 Gitlab插件。
点击Github
按钮来集成Github支持(也可以直接使用如下地址访问http://VPS:3000/auth/github):
点击Authorize application
按钮, 输入有权限的Github账号密码。 验证后会跳回Strider的项目页面下。
找到项目tola, 点击项目右侧的Add
接下来选择项目类型, 这里选择Python, Strider会做一些初始设置。
Strider会自动给项目添加一个Webhook。
打开https://github.com/dongweiming/tola/settings/hooks可以看到:
访问插件管理页面:http://VPS:3000/admin/plugins, 我们需要安装Github Status这个插件,
点击后面的Install。
访问http://VPS:3000/dongweiming/tola/config/tab-plugins激活邮件通知和Github状态插件,
需要把Email Notifiter
和GitHub Status
拖拽到左面。
进入http://VPS:3000/dongweiming/tola/config/plugin-emailnotifier页面勾选`Always
send notification emails.`。
现在当tola项目发生Pull request、 Push等事件时就会自动触发这个集成测试了。
项目结果页面是http://VPS:3000/dongweiming/tola。 构建成功的效果如下:
构建失败的效果如下:
同时, 在Github的Pull request页面也会显示集成结果:
打开QQ邮箱就可以看到集成结果的邮件了:
Strider自带发送Slack通知的插件, 而且Strider插件非常容易定制, 可以定义更多的插件支撑业务需要。
版权声明:本文由 董伟明 原创,未经作者授权禁止任何微信公众号和向掘金(juejin.im)转载,技术博客转载采用 保留署名-非商业性使用-禁止演绎 4.0-国际许可协议
python