持续集成 之 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是目前 ...
随机推荐
- 依赖注入及AOP简述(八)——混合请求模式 .
2.3. 混合请求模式 上一节讲到了FQCN(全类名)请求模式会带来依赖定义的柔软性较差的问题,因此字符串和全类名混合的模式又应运而生了.比如刚才的Spring中的API方式声明注入点的例子就可 ...
- 【最大流】【HDU2883】【kebab】
题意: 有一个烧烤机,每次最多能烤 m 块肉,现在有 n 个人来买烤肉,每个人到达时间为 si,离开时间为 ei,点的烤肉数量为 ci,点的烤肉所需烘烤时间为 di, 每个人要烤的肉可以分成若干份在同 ...
- SecureCRT中文显示乱码的解决方法
注:本文出自:http://riching.iteye.com/blog/349754 最近开始用SecureCRT登陆linux系统,由于是新手,很多问题不清楚,碰到显示中文乱码的问题,困扰了好几天 ...
- css中关于transform、transition、animate的区别
写动画经常会用到这几个属性,他们之间有什么区别呢? 1.transform 每每演示transform属性的,看起来好像都是带动画.这使得小部分直觉化思维的人(包括我)认为transform属性是动画 ...
- OleDbHelper
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.D ...
- 5.7 cm server-agent 会出现无法启动
异常信息如下: 离线安装cloudera-scm-agent5.7的Unable to create the pidfile问题 在离线安装Cloudera Manager启动agent出现了如下异常 ...
- Thinkphp3.2使用scws中文分词 提取关键词
SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统).1.下载scws官方提供的类(这里使用的是pscws第四版的)http://www ...
- scikit-learn的主要模块和基本使用
1.加载数据(Data Loading) 假设输入是特征矩阵或者csv文件,首先数据被载入内存. scikit-learn的实现使用了NumPy中的arrays,所以,使用NumPy来载入csv文件. ...
- LSD-FET430UIF与MSP-FET430UIF
成功的破解了没人研究的东西很有成就感!世界需要这样的人!!!LSD-FET430UIF与MSP-FET430UIF?什么是MSPF149?网上查了很多这方面的资料,都没有,最后凭借我阅读PDF的精神和 ...
- 给新建的Cocos2d-x 3.X的Win32工程添加CocoStudio库
1.我们在VS中找到"解决方案资源管理器", 在解决方案"HelloCocos"上点击右键, 选择添加现有项目. 在弹出的对话框中选择************* ...