hudson 的使用心得

Hudson一款开源的持续集成框架,其作用是可以实现项目的自动更新与部署。

以下说说如何使用。

1.选则一台PC机作为Hudson的服务器

2.该机器需安装好JAVA(JDK)环境

然后从Hudson的官网下载一个最新版的hudson-XXX.war包即可。

其运行方式有两种:

第一将该war包放入tomcat或者其它的容器内;

第二种直接使用如下命令  java -jar hudson-XXX.war

当hudson运行之后,便会自动在当前用户目录下创建一个名为  ".hudson"的目录,作为其项目目录。

Hudson运行之后通过浏览器访问:

http://localhost:8080/   即可进入hudson管理页面。

以上即为Hudson的安装。

再来说说,如何来实现我们的自动化构建与发布呢?

我们首先需要创建一个新的任务,输入任务名称,并选择“构建一个自由风格的软件项目”点击下一步。

其中有几点我们要留意一下,这也关系到我们是否能成功实现自动打包与部署。

在 "Source Code Management" 下面,我们选择“Subversion”:这意味着我们的Hudson将SVN提供的地址作为我们的基础文件,后期也是基于此进行打包。



 

其中"Repository URL"填写SVN项目地址,其余保持默认就行。

如果当填写好SVN地址后,提示如下错误:



 

这意味着SVN上面有权限,那么你只需要点击"enter credential",跳转到另外一个界面,输入SVN的用户名与密码就行。

第二个需要设置的为轮询策略,用来告诉Hudson用哪一种策略来执行这一个任务



 

常用的为Poll SCM,通过Unix中的任务高度工具所使用的配置方式来进行配置。

以空格为分隔符,从左到右依次代表着分、时、日、月、星期

*号代替着任意时间   */10代表着能被10整除的意思。

上图中的*/10 * * * * 代表着每隔10分钟任务执行一次。

第三步,用来设置我们的打包方式。



 

在Build下面,我们"Add build step"中,我们可以选择一项打包方式来将我们在第一步设置的源码进行处理。

因为我们的项目是用的Maven,所以我在此选择Invoke Maven。那么这样Hudson就会调用Maven的打包命令,将我们的源码进行打包.



 

选择maven的版本,然后输入maven的命令。(在这一步需要注意的是,在Hudson的服务器上面需要安装Maven,并在Hudson的系统配置中进行配置,因为此处比较简单,大家只要点进去一看就明白怎么配,故此处略)

通过以上的配置,我们基本上就告诉了Hudson这个任务的一些基本信息了,包括调度时间("build trigger"),需管理的源码(Soruce Code Management),打包方式(Build)。

那么剩下的,就是需要将我们打包好的项目部署到tomcat(远程部署)中去,那么应如何做呢?

在这里我们需要安装Hudson的一个名为 SCP的插件(请自行到Hudson的插件管理中去下),当插件安装好后,需要重启一次Hudson才能生效。

当安装好SCP之后,我们需要先去“系统管理”-“系统设置”中设定一个“远程目标”,如下图:



 

"Hostname" : 远程机器的地址

"Port"   : 文件传输的可用端口,因我们是在两台linux之间传输文件,所以默认为22

"Root Repository Path" : 目标路径

"User Name" : 用户名

“Password” : 密码

配置好之后记得点击保存。

然后,在新建任务页面的"Post-build Actions"下,勾选“ Publish artifacts to SCP Repository ”,并点击"Add"后出现以下画面:



 

”SCP site“ 中选择我们之前配置的SCP地址

"Source" :选择我们需要传输到远程服务器的文件。该目录是以Hudson当前任务下的工作目录为相对路径的。

"Destination":目标路径,默认会以我们之前配置的"Root Repository Root"路径为相对路径,如果以"/"开头则为绝对路径。

以上配置完成之后,点击保存。

刚我们就完成了一个任务的配置,现在可以让他运行以来看看效果。

猜你喜欢

转载自qruiking.iteye.com/blog/1995474