作者:许振坪,http://blog.csdn.net/benkaoya
1.前言
最近在研究持续集成,摸索了很多持续集成的工具,Apache Continuum也包括其中。既然飞过,那就留下点什么吧。
2.简介
截止书稿时,相对于其他传统的继续集成工具,Apache Continuum 算是一个新秀。对于持续集成的入门者来说,选择Apache Continuum 那就对了。理由如下:
- 易于安装:Continuum的安装很简单,只要下载和释放 ZIP 文件,运行命令行程序,就可以运行了。
- 容易配置:基于 Web 的界面使得配置项目很容易。而且,还不需要安装 Web 服务器,因为Continuum内置了 Jetty Web 服务器。
- 支持Windows:Continuum支持在Windows操作系统,可以作为 Windows 服务运行。
3.环境
我是在Windows环境下安装的Apache Continuum,环境如下:
所需软件 | 版本 |
服务器操作系统 | Windows 7 |
Java JDK版本 | jdk-7u72-windows-i586.exe |
apache-continuum版本 | apache-continuum-1.4.2-bin.zip |
4.安装
4.1. 安装java
这个很简单,我的安装路径是C:\Program Files\Java\jdk1.7.0_72。
在继续之前,先在PATH环境变量中添加java的安装路径,即将”C:\Program Files\Java\jdk1.7.0_72\bin”加入PATH环境变量中,而且要放在最前面,否则使用过程会出现问题。至于为什么后续会解释。
4.2. 安装apache-continuum
- 使用手册: 1.4.2版本的使用手册在:http://continuum.apache.org/docs/1.4.2/index.html
接下来就是启动服务,整个过程是在命令行中进行的,启动cmd,将当前路径切换到D:\apache-continuum-1.4.2\bin\,输入命令continuum.bat console即可执行服务,如下所示。
D:\apache-continuum-1.4.2\bin>continuum.bat console
wrapper | --> Wrapper Started as Console
wrapper | Launching a JVM...
jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
jvm 1 |
jvm 1 | 2015-03-02 00:21:50.735:INFO:oejs.Server:jetty-8.1.7.v20120910
jvm 1 | 2015-03-02 00:21:50.769:INFO:oejs.NCSARequestLog:Opened D:\apache-continuum-1.4.2\logs\2015_03_01.request.log
jvm 1 | 2015-03-02 00:21:50.778:INFO:oejdp.ScanningAppProvider:Deployment monitor D:\apache-continuum-1.4.2\contexts at interval 1
jvm 1 | 2015-03-02 00:21:50.785:INFO:oejd.DeploymentManager:Deployable added: D:\apache-continuum-1.4.2\contexts\continuum.xml
jvm 1 | 2015-03-02 00:21:53.926:INFO:oejpw.PlusConfiguration:No Transaction manager found - if your webapp requires one, please configure one.
jvm 1 | 2015-03-02 00:21:54.598:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/continuum,file:/D:/apache-continuum-1.4.2/apps/continuum/},./apps/continuum
jvm 1 | 2015-03-02 00:21:54.599:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/continuum,file:/D:/apache-continuum-1.4.2/apps/continuum/},./apps/continuum
jvm 1 | 2015-03-02 00:21:54.599:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/continuum,file:/D:/apache-continuum-1.4.2/apps/continuum/},./apps/continuum
jvm 1 | 2015-03-02 00:21:54.672:INFO:/continuum:Initializing Spring root WebApplicationContext
jvm 1 | 2015-03-02 00:22:29.968:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/continuum,file:/D:/apache-continuum-1.4.2/apps/continuum/},./apps/continuum
jvm 1 | 2015-03-02 00:22:30.239:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/continuum,file:/D:/apache-continuum-1.4.2/apps/continuum/},./apps/continuum
jvm 1 | 2015-03-02 00:22:33.232:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/continuum,file:/D:/apache-continuum-1.4.2/apps/continuum/},./apps/continuum
jvm 1 | 2015-03-02 00:22:34.148:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:8080
也可以将continuum注册为windows系统服务,这样电脑重启后,continuum服务就会自己启动。注册服务很简单,执行continuum.bat install命令即可,如下所示:
D:\apache-continuum-1.4.2\bin>continuum.bat install
wrapper | Apache Continuum installed.
D:\apache-continuum-1.4.2\bin>continuum.bat start
wrapper | Starting the Apache Continuum service...
wrapper | Apache Continuum started.
4.3. 疑难杂症
安装过程中遇到的难点:
jvm 1 | org.apache.jasper.JasperException: PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required
原因:安装jdk的时候会往c盘的系统目录(C:\Windows\System32\java.exe)拷贝Java的执行文件java.exe,使用 java -jar start.jar 来启动 Jetty 时则优先使用的是系统目录下的 java.exe,这样Jetty的Jsp解析器将无法解析JDK的的安装目录(我的安装路径是C:\Program Files\Java\jdk1.7.0_72)。
也就是说要用” C:\Program Files\Java\jdk1.7.0_72\bin\java” -jar start.jar来启动Jetty才行。如何保证java优先引用安装目录下的执行程序?设置PATH环境便令咯,而且要把C:\Program Files\Java\jdk1.7.0_72\bin放在最前面。(什么?如何设置PATH环境变量?问百度吧。)
严重提示:需要提醒的是设置完PATH环境变量后,要重启cmd,否则新设置的PATH环境变量不生效。如果新设置的PATH要对windows服务失效,还得重启电脑。
5. 使用
5.1. 开始体验
在浏览器中输入http://localhost:8080/continuum,就能看到效果了
如果无法打开,就要查看日志了,在控制台启动的服务,日志输出到控制台就能看到,如果作为winsome服务启动,日志输出到安装路径的log目录下。
5.2. 注册管理员信息
安装成功后,会提示你要先注册管理员信息,然后用管理登录。
5.3. 新建项目
到这里,大家对着界面自己倒腾也就能搞定了,我就不多说了。唯一需要提醒的是一下两点:
- 构建方式有很多种,如果你对其他诸如Ant、Maven不了解,那就选择shell项目,就是用命令行在自定义编译、链接的过程。
- 而对于Scm Url,设置格式如下,但不支持中文(我捣鼓了很久,还是没搞清楚怎样才能支持中文路径)。
scm:svn:https://xzp:svn@192.168.1.101/svn/DVR_BuBiao
6. 总结
毕竟是Apache的产品,优点不用都说,但对于我而已,因为其Scm Url不支持中文路径,我就没深入研究了,果断放弃,下一个目标是继续研究另一个持续集成工具Jenkins。