论产品的需求与实现系列之ci持续集成

           产品的需求与实现系列:

         论产品的需求与实现系列之日志系统

         论产品的需求与实现系列之监控系统

         论产品的需求与实现系列之数据平台

         论产品的需求与实现系列之ci持续集成

           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

   

猜你喜欢

转载自hugoren.iteye.com/blog/2280746