持续集成 之 apache-continuum
作者:许振坪,http://blog.csdn.net/benkaoya
1.前言
最近在研究持续集成,摸索了很多持续集成的工具,Apache Continuum也包括其中。既然飞过,那就留下点什么吧。
2.简介
截止书稿时,相对于其他传统的继续集成工具,Apache Continuum 算是一个新秀。对于持续集成的入门者来说,选择Apache Continuum 那就对了。理由如下:
- 易于安装:Continuum的安装很简单,只要下载和释放 ZIP 文件,运行命令行程序,就可以运行了。
- 容易配置:基于 Web 的界面使得配置项目很容易。而且,还不需要安装 Web 服务器,因为Continuum内置了 Jetty Web 服务器。
- 支持Windows:Continuum支持在Windows操作系统,可以作为 Windows 服务运行。
严重声明:截止书稿时, Continuum的最新版本是 apache-continuum-1.4.2,它不支持带有中文的SVN版本库路径。希望未来的版本能解决这个问题。
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
apache-continuum-1.4.2-bin.zip是个绿色软件,无需安装,解压开就算安装完毕了,我解压的路径是D:\apache-continuum-1.4.2。
接下来就是启动服务,整个过程是在命令行中进行的,启动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
持续集成 之 apache-continuum的更多相关文章
- Jenkins +Maven+Tomcat+SVN +Apache项目持续集成构建
详解Jenkins +Maven+Tomcat+SVN +Apache项目持续集成 一:前言 1. Jenkins jenkins版本大全http://mirrors.jenkins-ci.org/ ...
- Apache DolphinScheduler 的持续集成方向实践
今天给大家带来的分享是基于 Apache DolphinScheduler 的持续集成方向实践,分享的内容主要为以下六点: " 研发效能 DolphinScheduler CI/CD 应用案 ...
- 【Jenkins持续集成(一)】SonarQube 入门安装使用教程
一.前言 持续集成管理平台不只是CI服务器,是一系列软件开发管理工具的组合. 源码版本管理:svn.git 项目构建工具:Maven.Ant 代码质量管理:Sonar(Checkstyle.PMD.F ...
- 持续集成与Devops关系
什么是持续集成 持续集成(Continuous Integration,简称CI),是一种软件开发实践,在实践中指只要代码有变更,就自动运行构建和测试,反馈运行结果.通俗一点来讲,就是绑定项目的代码仓 ...
- Dubbo入门到精通学习笔记(三):持续集成管理平台之SVN版本管理系统的安装和使用
文章目录 持续集成管理平台介绍 持续集成介绍 持续集成管理平台的组成 持续集成实践介绍 即将学习 SVN版本管理系统的安装 安装 Subversion + Apache 安装 jsvnadmin 简单 ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A ...
- Jenkins + svn + maven 构建持续集成环境搭建
Jenkins简介 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: ...
- Jenkins+ANT+SVN快速搭建持续集成环境
伟大的语言都从helloworld开始,这里我们用Jenkins+ANT+SVN来搭建这一套持续集成环境. 环境准备: 一台已经配置好Jenkins和Ant的机器. 项目准备: 用Ecplise建立一 ...
- jenkins + Git 搭建持续集成环境
持续集成通过自动化构建.自动化测试以及自动化部署加上较高的集成频率保证了开发系统中的问题能迅速被发现和修复,降低了集成失败的风险,使得系统在开发中始终保持在一个稳定健康的集成状态.jenkins是目前 ...
随机推荐
- javascript 中 offsetWidth,clientWidth;offsetHeight,clientHeight的区别
javascript 中 offsetWidth 是对象的可见宽度,包滚动条等边线,会随窗口的显示大小改变 clientWidth.offsetWidth.clientHeight区别IE6.0.FF ...
- 水平居中的两种方法margin text-align
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- sql 添加字段备注和查看已添加表的备注
虽然avl树和红黑树在数据搜索和排序方面都是有效的数据结构,但是都显得特别麻烦,跳跃表就显得特别简单,虽然简单 不影响他性能,在平均情况下,其插入.删除.查找数据时间复杂度都是O(log(N)),其最 ...
- Java SE 8 for the Really Impatient读书笔记——Java 8 Lambda表达式
1. lambda表达式的语法 lambda表达式是一种没有名字的函数,它拥有函数体和参数. lambda表达式的语法十分简单:参数->主体.通过->来分离参数和主体. 1.1 参数 la ...
- c++ :OOP之静态类型与动态类型
所谓静态类型即类型指针或引用的字面类型:而动态类型即类型指针或引用的实际类型. 这一对概念一般发生在基类和派生类之间. 如: class Base { ..... } class Derived : ...
- C++ Primer 读书笔记:第10章 关联容器
第10章 关联容器 引: map set multimap multiset 1.pair类型 pair<string, int> anon anon.first, anon.second ...
- Android 获取系统图库和相机照片 裁剪并显示
接上一篇 package com.example.image; import android.app.Activity; import android.content.Intent; import a ...
- eclipse中使用Lombok
1.下载Lombok.jar http://projectlombok.googlecode.com/files/lombok.jar 2.运行Lombok.jar: java -jar D:\00 ...
- java web每天定时执行任务(四步轻松搞定)
第一步: package com.eh.util; import java.util.Calendar; import java.util.Date; import java.util.Timer; ...
- JavaScript总结之鼠标划过弹出div单击出现对话框
为了满足他们的永无止境的要求,我可谓是任劳任怨啊,累断了双手,看瞎了双眼.这个是来写鼠标划过一个按钮,然后弹出一个小提示框解释,另外根据radio是否选中,判断点击后如何执行,然后执行之后再有一个确认 ...