产品的需求与实现系列:
ci用过了两个产品,一个是hudson,另一个是jenkins.关于这两个的历史可以jenkins与hudson的恩怨
需求1:ant 打包java项目,发布到WAS,自动重启
解决需求1:项目工程很大,大的什么程度呢,当时我统计脚本行码将有500百万行。由于项目工程结构及依赖,尝试用maven去替换ant,发现效果还没ant好,maven一些包管理特性也没突显出来。so,还是用ant吧。
1.先用ant写framework的基类的打包,再写每一个小工程的ant包,写到最后发现ant文件越来越多,后面又重构一下,采复用的模式。这是典型的程序员的思维,什么重构,复用。
2.先看配置
需求2:activator打包scala应用,功能有自动打包,分级发布,一键回滚,自定义回滚,查看版本等
解决需求2:
需求3:gradle +android应用
解决需求3: 先装gradle 2.6 ,下载android依赖的包,然后是一堆配置,后来又作了junit测试
需求4:xcode+ios打包发布应用
解决需求4:还是先安装xcode,不过这xcode 版本有要求,要10以上
需求5:jenkins的master-slave方式,pipline流工作依赖,代码质量检测,定时任务(githook)..........
最后的产品展现:
总结:对比hudson与jenkins,更喜欢jenkins,jenkins更新快,插件丰富,一些特性比如githook等,更容易在社区找到答案。hudson运行很稳定,一直用作java主ci