最近在安装使用continuum进行持续集成, 在安装过程中总是很不顺利, 把一些心得写下来, 便于发生同样问题的人少走弯路, 也算是对于最近学习的一次总结。
这里安装过程就不说了,简单说下顺序,
安装JDK, Eclipse, Maven, Subversion, Maven Eclipse插件, Subversion Eclipse插件
安装过程 网上充斥了大量的相关文章, 还有参考书目。 比如:
http://book.51cto.com/art/200912/173470.htm
注意不是很熟悉scm身份认证那一项不要打勾, 否则checkout会出错, 配置下面的用户和密码就可以了。
上述工作并不难, 而且很多问题在网上百度或者Google都可以找到答案。
这里遇到的第一个问题就是配置repo库, 具体可以参考下面链接提供的settings文件
http://hi.baidu.com/payapple/blog/item/44bf781db5de0768f724e4ba.html
需要注意一点, 就是最好配置server而不是proxy
<servers>
<server>
<id>nexus</id>
<username>aaa</username>
<password>bbb</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>aaa</username>
<password>bbb</password>
</server>
</servers>
配置continuum比较简单, 但是出现了一个问题就是在Windows上编译项目失败
出现类似下面的错误
[INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Error creating properties files for forking; nested exception is java.io.IOException: 系统找不到指定的路径 [INFO] ------------------------------------------------------------------------ [INFO] Trace org.apache.maven.lifecycle.LifecycleExecutionException: Error creating properties files for forking; nested exception is java.io.IOException: 系统找不到指定的路径。 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
在apache-continuum-1.3.6/conf/wrapper.conf目录中发现, jetty对于-Djava.io.tmpdir=环境变量曾经重新设置过, 估计是各个线程进程之间出现了临时目录混乱的情况, 在所在项目中增加设置java.io.tmpdir, 比如下图, 可以暂时解决这个问题, 但由于项目相关, 后期维护比较麻烦, 希望高手朋友们能够找到在各种容器和线程灵活配置临时目录的办法。
最后, 如果出现问题, 多看日志, 主要是下面那些
/logs/continuum.log continuum本身日志
wrapper.20XXXXXX.log jetty日志
data/build-output-directory/6 项目目录的相关编译等日志
纯属个人心得, 希望能够对于喜欢maven的朋友们有所帮助。