论坛首页 综合技术论坛

基于teamcity的持续集成实践(ant脚本1)

浏览 2198 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-07-22   最后修改:2009-07-23

使用ant来进行构建,最重要的就是脚本的组织,下面我们将continuous integration过程进行分类,然后进行相应的整合。

 

首先整个持续集成过程大致分为check-out(而这部分是由teamcity负责,因此不在ant脚本范围)、pmd代码检查(暂略)、1。compile、2。unit-test、3。findbugs代码检查、4。package、5。weblogic domain creating、6。weblogic domain startup、7。weblogic domain shutdown、8。weblogic config(datasource、jms...)、9。deploy、10、integration test、11、code coverage(此部分同样由teamcity集成,但是需要额外处理才能将integ日ation test和unit test的覆盖率整合到一起)、12。create report and feedback(teamcity集成)、13、create project config files、14。init database(暂略)。

 

每一个项目并不需要每次持续集成的时候都需要运行这些过程,而且如果每次都运行到这些过程,可能导致构建时间会非常长,因此作为一个大项目,有必要对这些过程进行整合,以达到更快的构建、更快的反馈。基于这个想法,我将这些过程整合为两个阶段,第一个阶段为项目环境搭建,基本上在项目稳定期,仅需要在改变了某些特性的时候才需要执行;第二个阶段为持续构建。

第一阶段包括

1。compile

4。package

13、create project config files

5。weblogic domain creating

7。weblogic domain shutdown

6。weblogic domain startup

8。weblogic config(datasource、jms...)

9。deploy

7。weblogic domain shutdown

为什么上面会出现先shutdown后startup呢,其实这个是因为在我的环境里面,直接使用wlserver在创建完domain后config domain 和deploy有些问题,所以就用了一个折中方案。

第二阶段包括

1。compile

2。unit-test

3。findbugs代码检查

4。package

13、create project config files

6。weblogic domain startup(在此处理覆盖率的merge)

10、integration test

7。weblogic domain shutdown

 

这样持续集成的是第二阶段,生成的代码质量报告、测试结果报告、测试覆盖率报告都会生成在teamcity的web页面中,可以方便的进行查看。

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics