持续集成工具hudson【转载】
第一节 我的理解
项目中使用了hudson,那么hudson是处在怎样的一个地位呢?
首先就我自己的认知,项目中hudson的作用有一下几点:
1、获取svn服务器上的最新代码;
2、把最新代码编译打包,具体打成什么格式的包,要看具体的配置;
3、登陆到服务器【正服/测服】,到指定的目录下;
4、执行脚本文件【这些脚本文件就是之前我们自己手动打包发布的一些命令】。
那么这里面hudson具体是怎么安装和使用,我在网上找到了一篇写的很详细的文章,感谢作者的总结分享。
持续集成工具hudson的安装和使用方法
第二节 安装和使用
持续集成工具hudson的安装和使用方法.hudson是类似CruiseConrol和Continuum的持续集成工具。要求软件项目已经使用了自动构建脚本,比如ant或者maven 等。持续集成工具可在此基础上进一步自动化,实现比如定期(比如每日)构建或者由事件触发的构建(比如版本控制器的提交活
hudson简介
hudson是类似CruiseConrol和Continuum的持续集成工具。要求软件项目已经使用了自动构建脚本,比如ant或者maven 等。持续集成工具可在此基础上进一步自动化,实现比如定期(比如每日)构建或者由事件触发的构建(比如版本控制器的提交活动)。
hudson的官方网址:
https://hudson.dev.java.net/
jboss就是采用hudson持续集成,见:
http://hudson.jboss.org/hudson/
hudson安装
下载最新的war版本:
https://hudson.dev.java.net/servlets/ProjectDocumentList?folderID=2761&expandFolder=2761&folderID=0
复制到tomcat的webapps目录下。
hudson设置
针对tomcat,中文的设置,否则get请求中的中文由于使用默认iso-8859-1而发生错误。server.xml文件:
设置MAVEN_HOME,通过Manager Hudson>Configure System。
hudson主目录和升级
hudson在当前用户下建立了供它使用的目录,一般在:
~/.hudson
hudson因此不需要数据库存储系统状态,也使升级hudson比较容易。升级只需要替换掉webapps目录下的war文件,并删除以前war文件解压缩的目录即可。因为所有配置文件不在war相关路径中。
hudson版本更新十分活跃,这种方式为升级带来便利。
如果tomcat是作为守护进程运行,将无法用到当前用户的目录。需要在tomcat的启动脚本中设置:
export HUDSON_HOME=/srv/hudson
持续集成前的准备
持续集成需要自动构建,比如maven或者ant。以下准备了一个最简单的maven2 web项目,并提交到版本控制器中(subversion)。可通过以下链接访问:
https://dev.easymorse.com/svn/demos/helloworld/
用户名和密码:guest/password
创建maven构建任务
点击new job链接,输入项目名和项目类型,因为项目是maven的,要选择maven2 project。见:

下一步的配置部分,必须填写的地方不多,svn项目的url及认证信息,hudson会通过自带的svn客户端checkout代码并完成构建。还有一个就是构建触发的策略,最普通的是定期构建(build periodically),语法和cron类似,这里设置了每天21:40构建一次。另外poll scm可能更常用一些,它和定期构建配置方式类似,不同的是它将检查版本仓库中代码是否变化,只有变化才做构建。

查看构建结果
创建任务后,在hudson首页上可看到列表中的该项目:

点击该项目任务链接,会看到该项目所有构建的相关信息:

点击workspace,可以浏览该项目在svn上的源代码,或者下载zip打包的源代码。点击permalinks下的构建链接,可以下载该构建的生成文件,在本例的web项目,是war文件。
高级功能
以上是一个简单的项目示例。hudson支持一些这里没有涉及到的高级功能:
测试代码的统计结果报告;
为指定的构建版本打标签(原来都用subclipse打标签,现在用这个,更直观);
管理用户信息;
认证与安全(这方面hudson实现的过于简单);
和问题管理工具比如JIRA和trac等集成,生成版本的修改报告;
具有插件机制,可以通过插件增加功能,比如和jira、trac等集成,还有检查代码风格和检查代码质量等的插件。
持续集成工具hudson【转载】的更多相关文章
- 持续集成工具hudson
2008-07-08 一.什么是持续集成 持续集成的核心概念 CI 过程会经常构建软件组件:在许多情况下,每当源代码存储库(比如 Subversion 或 ClearCase)中的代码发生变化时, ...
- 持续集成工具Hudson安装实例
安装maven 下载maven,解压 [root@localhost local]# pwd /usr/local [root@localhost local]# -bin.tar.gz [root@ ...
- HUDSON(Java开发的一种持续集成工具)
Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. Hudson的特性 1.易于 ...
- 【转载】soapui基于持续集成工具自动化运行的调研姿势
soapui中的testrunner.bat调研姿势,用于自动化测试副标题:soapui基于持续集成工具自动化运行的调研姿势 各位亲爱的同仁们,大家好吗?最近项目在搞持续集成工具,我们的测试用例都是基 ...
- 持续集成工具Jenkins学习总结
概述 持续集成(Continuous Integration,简称CI)是一种软件开发实践,团队开发人员每次都通过自动化的构建(编译.发布.自动化测试)来验证,从而尽早的发现集成错误.持续集成最大的优 ...
- 持续集成篇 --Hudson持续集成服务器的安装配置与使用
样例项目参考视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 IP:192.168.4.221 8G内存 ...
- 轻松搭建持续集成工具jenkins
1.Jenkins介绍1)什么是持续集成随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软 ...
- 【持续集成工具】 Jenkins
一.什么是持续集成 持续集成(CI):简单来说就是指将开发者的工作内容频繁地集成到主干中. 而持续集成工具可以将开发者频繁需要构建,编译,测试,部署等操作自动进行,为开发提供了非常大便利. 二.持续集 ...
- 用持续集成工具Travis进行构建和部署
用持续集成工具Travis进行构建和部署 用持续集成工具Travis进行构建和部署 摘要:本文简单说明了如何使用持续集成工具Travis进行构建和部署的过程. 1. 概述 持续集成(Continuou ...
随机推荐
- vue v-show与v-for同时配合v-bind使用并在href中传递多个参数的使用方法
最近在项目中,因为还没使用前端构建工具,还在使用vue+jquery方法渲染页面 碰到几个小问题,在此记录下作为vue学习之路上的一个小知识点 需求:1.数据列表存在与否状态,没有数据显示默认提示,有 ...
- Django学习笔记(12)——分页功能
这一篇博客记录一下自己学习Django中分页功能的笔记.分页功能在每个网站都是必要的,当页面因需要展示的数据条目过多,导致无法全部显示,这时候就需要采用分页的形式进行展示. 分页在网站随处可见,下面展 ...
- IDEA连接linux服务器
idea连接linux(完成了xshell和xftp连接linux的功能,可以直接卸载这俩了..) File->settings->Deployment左侧加号添加 选择传输类型ftp或者 ...
- awk 统计
命令太多,记不住,组合起来用一把…..示例文件: 1 2 3 4 5 6 7 8 9 10 11 [root@lovedan test]# cat a.txt hello good world hel ...
- jenkins的Pipeline代码流水线管理
1.新建一个pipline任务 2.自写一个简单的pipline脚本 a.Pipeline的脚本语法在Pipeline Syntax中,片段生成器,示例步骤中选择builf:Build a job b ...
- Div 浮动到另一个div之上
转自原文Div 浮动到另一个div之上 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <met ...
- springboot多环境配置
springboot多环境(dev.test.prod)配置 2017-07-17 10:33 1290人阅读 评论(0) 收藏 举报 分类: spring boot(6) 版权声明:本文为博主原 ...
- sql的一些知识_where
简单相同查询,查询age=22的三列信息,并按照降序排列 ORDER BY weight DESC 此外,where还支持一下判断操作符 值得注意的是,如果比较的值为数值,则不需要加引号,如果是字符, ...
- xammp 配置虚拟主机
## This is the main Apache HTTP server configuration file. It contains the# configuration directives ...
- C#编译器选项(目标平台)
用vs编译C#项目的设置中,“属性-生成-目标平台”有anycpu,x86,x64等选项. anycpu(默认值)将编译程序集为使其在任意平台上都可以运行. 在任何可能的时候,应用程序作为 64 位进 ...