Qt Project的持续集成方案
链接:http://www.zhihu.com/question/24314354/answer/27547787
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
关于CI,其实是和的团队人员多少、应用程序目标平台和配置的不同是有很大关系的。
例如,只有一个人开发,只面向一个平台,每次自己写了一个commit之后,跑一下自动或者手工测试,基本就可以知道结果了。
手工测试肯定不如写单元测试,写了很多单元测试之后,一般都会有一个脚本来批处理一下。这其实就是一个CI的原型,CI无非也就是自动获取代码,在目标平台上跑一遍或者几遍,然后报告结果。
简单介绍一下Qt Project的CI配置:(详情见 http://qt-project.org/wiki/CI_Overview )
1. 使用Jenkins(http://jenkins-ci.org/),以前用过Pulse(http://zutubi.com/products/pulse/),都是Java的,这样就可以比较简单的跑在Qt的各个目标平台了。个人或者小团队也许可以试试Travis(https://travis-ci.org/)之类的
2. 配置第三方库好像用得是puppet(http://puppetlabs.com/),另外很多编译器升级之类的,也许还是需要手工操作的
3. 台式机也可以呀,配置Jenkins服务器和节点都很简单的
4. 可以呀,除了各种桌面平台,例如Symbian、CE、iOS和Android什么的,只要能写脚本搞定的,都可以跨呀
5. 看需要和精力了,机器跑单元测试总比自己手工测试要牢靠一些,但肯定不能覆盖百分之百的情况...
看了其他人的回答,好像还有一个问题,通常小团队操作,可能是先commit然后再跑CI,而Qt Project则不同,它使用Gerrit(https://code.google.com/p/gerrit/),每个提交的change只有在通过CI之后才会被commit。这样自己添加的一个feature,通过单元测试保证以后,基本上别人就不能把你这个feature毁掉了...
还有很多其它Java的CI工具,我推荐试试Jenkins/Hudson。
Qt Project的持续集成方案的更多相关文章
- Jmeter+Ant+Jenkins持续集成方案改进
关于Jmeter+Ant+Jenkins如何搭建持续集成环境,网上资料一大把,就不多说了,本文主要谈一下期间的问题及扩展该持续集成方案. 其实核心的流程不复杂,Jenkins管理构建项目,Ant配置脚 ...
- CI/CD持续集成方案
一,CI/CD流程和持续交付简介 CI(Continuous Integration)持续集成 CD(Continuous Deployment)持续部署 CD(Continuous delive ...
- [分享] 自动化测试与持续集成方案-- UI 检查
对于自动化测试中,UI 自动化测试估计是最有争议的,让人又爱又恨. UI 自动化做回归测试,可以省下很多人力.如果版本一直不稳定,投入跟产出不成比例的. 时机 一般是要版本稳定,界面改动不大.如果迭代 ...
- 手机APP自动化持续集成方案
自动化测试流程 自动化测试框架
- 【iOS】Jenkins Gitlab持续集成打包平台搭建
Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...
- 构建基于Jenkins + Github的持续集成环境
搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路.持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集 ...
- Jenkins Gitlab持续集成打包平台搭建
http://www.cnblogs.com/skyseraph/p/5695021.html 1. 相关概念 Jenkins Jenkins,一个用Java编写的开源的持续集成工具,提供了软件开发的 ...
- JUnit之持续集成(CI,Continuous Integration)
序,测试驱动开发告诉我们,要尽早测试,经常测试.如果我们进行一点小改动时,都把所有的单元测试.集成测试和功能测试执行一遍,这就会非常浪费时间.为了避免这一点,在开发期间我们只执行单元测试,那么集成测试 ...
- 这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script
这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script ##转载注明出处:http://www.cnblogs.com/wade-xu/p/4378224.html ...
随机推荐
- openssl对数组加密解密的完整实现代码
本例是用C实现的对一个数组进行加密,加密到第二个数组,然后解密到另一个数组的完整实现代码. #include <stdio.h> #include <string.h> #in ...
- SxsTrace工具使用方法
Windows7平台上有一个强大的SxsTrace工具,可以跟踪调试应用程序运行时需要的动态库的版本和路径. SxsTrace使用的方法: 1.首先必须以Administrator用户身份登录 ...
- linux下netstat命令详解
简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Member ...
- Increasing/ Decreasing Stack
对于此类问题: 对于元素nums[i],找出往左/右走第一个比它小/大的数字 我们常常用递增栈/递减栈实现. 递增栈实现第一个比它小 递减栈实现第一个比它大 Example: 2 1 5 6 2 3 ...
- POJ3630——简单Trie树
这个题的意思是说,给出一些字符串,判断是否有字符串是另一个字符串的前缀,当然可以用排序水过,不过这个题拿来练习一下Trie树不错. 这个题在poj的discuss上好多人说必须要静态建树,估计都是用了 ...
- hdu3397 Sequence operation
感觉自己好像搞定了一个不得了得题呢.. 对于这种区间性质合并的线段树,对于每个节点保存一下当前区间内1的个数,左右边界相邻的1个的个数与0的个数,还有当前区间最大连续的1和0的个数. 合并的时候的细节 ...
- [转]laravel 4之视图及Responses
http://dingjiannan.com/2013/laravel-responses/ laravel 4之视图及Responses 16 Aug 2013 Laravel的Response ...
- ajax参数中出现空格
jquery中发起ajax请求时的参数名中不能有空格.如果是get请求参数的中的空格会变成“+”符而在post请求中看不到这种变化,但无论哪种情况都无法与服务接口的参数就行匹配(此时进行调试也不会触发 ...
- ResourceBundle读取中文properties文件问题
昨天遇到一个问题,用ResourceBundle读取中文字符串资源文件时,死活读不出来. 一开始以为是文件路径不对,后来发现如果默认properties文件时英文就没问题.我的项目代码是在src目录下 ...
- iOS开发~视图(UIView)与控件(UIControl)
1.UIView类 1.什么是视图 看得见的都是视图 2.什么是控件 一种特殊的视图,都是UIControl的子类,不仅具有一定的显示外观,还能响应高级事件,与用户交互.严格意义上UILabel不是控 ...