2013年7月9日“新单位工作流水账之一”

今天是在新单位工作的第四天。新单位工作环境还不错,但这个没有什么好总结的。

说说工作上的东西吧

产品打包部署

项目代码规模不小,服务器是 JBoss,部署格式是 EAR。采用 Ant + Maven 做构建工具,因为有很多自定义的工作,所以以后可以改用 Gradle 做构建工具。Gradle 既有 Maven 的依赖管理、模块管理和丰富的插件等特性,还有 Ant 的灵活性,同时语法很简单,具有可编程的特点。

我刚去的时候,这个项目的打包部署时间很长,需要将近 16 分钟,十分夸张,非常影响开发效率。所以我去的第一项工作是改进打包部署的时间。经过几项简单的改进,比如提供选项跳过某些过分耗时的部分的构建,而使用原来的结果;部分清理项目而不是全部清理,项目打包构建的时间就能减到3分半钟。做法没有什么技术含量,所以就不说了。但是不得不说,3分半钟还是很长的时间,这还没有算上重启服务器所需的时间。

另外采用 JRebel、部分采用 Arquillian 做集成测试等方法,都可以很显著解决构建时间长的问题。但也各有各的缺点,JRebel 是要花钱的,而且对调试有些影响(调试问题仅供参考)。Arquillian 需要写测试才能解决问题。

但对于 EAR 应用来说,不论开发的时候分了多少个模块,打包部署的时候总还是要按整体来进行的。这方便了部署,却给开发带来很多麻烦。解决这个问题可以使用 SOA、Apache Thrift、Hessian 或 OSGi 等方法,将项目分成可单独部署的模块。

开发环境

项目的开发环境是部署在虚拟机上面的,每个人分批一个镜像。打开 VNC 就能工作,速度其实也还可以。开始用的是装好的 Eclipse 做开发,后来觉得速度很慢,改用了 IDEA 的免费社区版,虽然免费但也比 Eclipse 好用,强烈推荐。

文档

项目没什么文档很让人吐槽。没办法,只能自己边看代码边问人了。接下来要做的是用 Maven Site 功能把看代码学到的东西整理成文档,放的 SVN 中去。

你可能感兴趣的:(2013年7月9日“新单位工作流水账之一”)