Re: [问题] 建立大型 Java 专案的工具与方法

楼主: blue3 (啦啦啦)   2014-05-03 01:21:27
※ 引述《willy69wu31 (小小吴)》之铭言:
: 以往都是用 Eclipse 随便搞搞了事
: 不过开始有越来越多的需求,尤其是程式码管理,所以想寻找一整套整合的方案
: 不然每次一有新专案,就会有很多事项必须手动自己搞出来,有些麻烦
: 希望有:
: 1. 版本控制 (Eclipse 的 workspace 好像囊括了杂七杂八不适合直接塞 git 的档案)
: 2. 自动编译/打包/发行成 jar (还是,各位发行公开的 java 程式时都怎么做?)
: 3. 自动建立单元测试
: 4. 程式码自动格式化、变量大小写自动检查之类
: 5. 相依性管理,最好可以自动下载缺少的 jar 等
: 前阵子搜寻了一下,Maven 好像是一个还不错的方案,搭配某些工具之后可以几乎自动化
: 不过有关 Maven 的讨论好少 orz (莫非有专板?)
: 不晓得各位通常都怎么做? 有什么建议的方案或观念吗?
来分享一下前公司的做法
1.版本管理:svn
2.CI: hudson http://hudson-ci.org/
3.jar management: Maven
4.issue tracking: jira
通常release的流程是这样的
1.写好程式, unit test, integration test, 本机用maven build过一次,
,相关project手动测试功能,确认没问题后, commit到svn
2.svn commit会驱动hudson(或是手动驱动,或排程), 执行unit test,
integration test, 过了之后打包成jar自动放到maven
3.build完一个jar,会再驱动hudson build相关的模组, 一样跑完unit test,
和integration test, 成功就打包放到maven
4.全部的模组都build成功了,在jira上, 附注hudson build number, 关掉issue
2,3的过程中,失败和成功都会寄信给相关人员
通常这会是一个漫长的流程,要看你的专案到底多大,参与的开发人员有多少
公司的资源(机器)有多少。
因为随着专案的开发,越来越多的专案和程式,都会需要经过这样的流程
如果机器不够,有时候光等hudson build就要排队了。
机器不够快,等build的过程也是个煎熬。
有时候build到最后才给你出错,可能20, 30分钟甚至一小时就过去了。
所以后来就跟公司要求提供build server的数量和效能。
至于maven, 你想做的(程式码格式化等)应该都有相关的plugin可以达到
没有的话也可以自己写,算是扩充性蛮高的
以上,供大家参考。
作者: dahanhsi (dahanhsi)   2014-05-05 19:47:00
1,2,3的测试是差在环境吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com