博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
持续集成工具hudson【转载】
阅读量:7190 次
发布时间:2019-06-29

本文共 2064 字,大约阅读时间需要 6 分钟。

第一节 我的理解

项目中使用了hudson,那么hudson是处在怎样的一个地位呢?

首先就我自己的认知,项目中hudson的作用有一下几点:

1、获取svn服务器上的最新代码;

2、把最新代码编译打包,具体打成什么格式的包,要看具体的配置;

3、登陆到服务器【正服/测服】,到指定的目录下;

4、执行脚本文件【这些脚本文件就是之前我们自己手动打包发布的一些命令】。

那么这里面hudson具体是怎么安装和使用,我在网上找到了一篇写的很详细的文章,感谢作者的总结分享。

第二节 安装和使用

持续集成工具hudson的安装和使用方法.hudson是类似CruiseConrol和Continuum的持续集成工具。要求软件项目已经使用了自动构建脚本,比如ant或者maven 等。持续集成工具可在此基础上进一步自动化,实现比如定期(比如每日)构建或者由事件触发的构建(比如版本控制器的提交活

  hudson简介

  hudson是类似CruiseConrol和Continuum的持续集成工具。要求软件项目已经使用了自动构建脚本,比如ant或者maven 等。持续集成工具可在此基础上进一步,实现比如定期(比如每日)构建或者由事件触发的构建(比如版本控制器的提交活动)。

  hudson的官方网址:

  https://hudson.dev..net/

  jboss就是采用hudson持续集成,见:

  http://hudson.jboss.org/hudson/

  hudson安装

  最新的war版本:

  https://hudson.dev.java.net/servlets/ProjectDocumentList?folderID=2761&expandFolder=2761&folderID=0

  复制到tomcat的apps目录下。

  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。见:

hh1

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

hh2

  查看构建结果

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

hh3

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

hh4

  点击workspace,可以浏览该项目在svn上的源代码,或者下载zip打包的源代码。点击permalinks下的构建链接,可以下载该构建的生成文件,在本例的web项目,是war文件。

  高级功能

  以上是一个简单的项目示例。hudson支持一些这里没有涉及到的高级功能:

  代码的统计结果报告;

  为指定的构建版本打标签(原来都用subclipse打标签,现在用这个,更直观);

  管理用户信息;

  认证与(这方面hudson实现的过于简单);

  和问题管理工具比如JIRA和trac等集成,生成版本的修改报告;

  具有插件机制,可以通过插件增加功能,比如和jira、trac等集成,还有检查代码风格和检查代码质量等的插件。

转载于:https://www.cnblogs.com/yangh965/p/5442883.html

你可能感兴趣的文章
Docker微服务-Jenkins+Gitlab+Maven+Shell自动化构建实施案例
查看>>
变量和数据类型
查看>>
js 中的五种继承方法
查看>>
最大公约数
查看>>
51CTO分享挑战赛奖品——10500mAh移动电源
查看>>
利用sendmail简单实现域内、域间邮件收发(linux5.4)
查看>>
备份Ubuntu的工具—Remastersys
查看>>
【C语言小游戏】 中国象棋
查看>>
什么是DNS,A记录,子域名,CNAME别名,MX记录,TXT记录,SRV 记录,TTL值,泛域名(泛解析),域名转向,域名绑定...
查看>>
我的友情链接
查看>>
杭电 hdu 2097
查看>>
从今天开始奋斗!
查看>>
gcc编译过程
查看>>
系统设计原则
查看>>
php 原生websocket
查看>>
KVM 笔记
查看>>
讲座内容下载
查看>>
vim 光标移动操作
查看>>
全面剖析XMLHttpRequest对象
查看>>
Linux数据库:MySQL主从同步设置和同步错误处理
查看>>