Hudson:持续集成服务器工具介绍

本文详细介绍了持续集成工具Hudson的工作原理、安装配置、通用设置以及创建构建任务的过程,包括如何配置SVN、Ant、JUnit等。此外,还展示了在Android项目中的应用,如ngux构建和Espier构建,以及构建后的测试报告发布。
摘要由CSDN通过智能技术生成

资料参考

介绍

什么是持续集成(Continuous Integration)

持续集成(CI)是一种实践,旨在缓和和稳固软件的构建过程。在整个软件开发生命周期内,它主要用于保证代码质量,确保尽早遇到问题(如代码缺陷),避免问题在软件开发周期晚期变复杂时才被发现。CI的作用主要有如下几个方面:
  • 软件构建自动化。
  • 构建可持续的自动化检查。
  • 构建可持续的自动化测试。
  • 生成后后续过程的自动化。

组件

实现CI的上述功能,需要三个组件:
  • 用 Ant 或 Maven 等工具建立的自动构建过程。
  • 一个代码存储库,比如 CVS 或 Subversion。
  • 一个 CI 服务器,比如 Hudson。

hudson介绍

Hudson 是一种革命性的开放源码 CI 服务器,它从以前的 CI服务器吸取了许多经验教训。Hudson最吸引人的特性之一是它很容易配置:很难找到更容易设置的 CI 服务器,也很难找到开箱即用特性如此丰富的CI 服务器。Hudson 容易使用的第二个原因是它具有强大的插件框架 ,所以很容易添加特性。例如,一个 Hudson 插件可以随时间的推移跟踪FindBugs 和代码覆盖。它还可以报告测试结果的趋势(来自 JUnit 或 TestNG? )以及构建结果和对应的执行时间。有人调查过,Hudson是目前使用最多的CI服务器。

工作原理

  • CI系统的基本结构图

CI.png

构建过程

  • 触发构建--手动、代码更新、定制时间。
  • 更新代码--Svn、Git、CVS。
  • 构建--执行 Shell、执行 Windows 批处理、使用Ant、使用Maven。

安装

  • 安装sun-java6-jdk,设置环境变量JAVA_HOME
  • 安装tomcat6
  • 安装 ant (optional)
  • hudson官网下载hudson.war,放到tomcat/webapps下。访问http://localhost:8080/hudson,进入hudson的启动页面。注:使用sudo apt-get install tomcat6时,将hudson.war放在/var/lib/tomcat6/webapps目录下。
  • 默认在/usr/share/tomcat6/.hudson下建立hudson的主目录。注意权限问题。

通用配置

系统管理

  • 打开系统管理-系统设置,进行配置。
    • 主目录:这个目录用来保存所有的配置信息和数据。默认是当前用户目录下的.hudson。也可创建一个空目录,并将这个目录路径赋给环境变量 hudson/WEB-INF/web.xml中的HUDSON_HOME,重启hudson。
    • JDK:设置JDK的路径,默认是自动安装的,如果你的电脑安装过JDK那就将自动安装复选框勾掉,填写JAVA_HOME的路径即可。
    • Ant:设置Ant的路径ANT_HOME。
    • Android Emulator:针对Android项目,设置 SDK安装路径。
    • Xvnc-Command line:设置vncserver启动路径及参数。如:/usr/bin/vncserver :99 -geometry 800x600。
    • Xvnc-Base display number:设置桌面显示号的基数。如:99.
  • 打开系统管理-管理插件,可安装插件。hudson默认的插件保存目录为:HUDSON_HOME/plugins,所以也可以直接将插件拷贝到该目录下,重启hudson即可。
  • HUDSON_HOME目录结构
    HUDSON_HOME
              |-------config.xml (hudson基础配置) 
              |-------*.xml (其他站点范围内的配置文件)
              |-------userContent (此目录中的文件将被送达您的http://server/hudson/userContent/。)
              |-------fingerprints (存储指纹记录,关于fingerprints请查阅文件指纹识别)
              |-------plugins (存储插件集)
              |-------jobs(构建任务总目录)
                      |-------[JOBNAME] (为每个作业定义一个子目录) 
                              |-------config.xml (作业配置文件) 
                              |-------workspace (为版本控制系统而工作的目录)
                              |-------lastSuccessful (这个符号关联到最近的成功构建。)
                              |-------builds

用户配置

选中系统设置-启用安全 ,进行用户配置
  • JNLP节点代理的TCP端口选项中选择“Disable”。
  • 访问控制-安全域
    • 选择“Hudson专有用户数据库”:使用Hudson自己的用户列表验证, 而不是外部系统代理. 这适用于没有用户数据库小范围的设定. 建立的用户配置信息保存在HUDSON_HOUME/users下。
    • 允许用户注册:如果勾选上,则表示允许用户自己注册一个新账号,通过点击页面右上角的注册链接进行操作。取消这个选框表示禁止任意注册新账号。 当这个选框被取消,就必须使用系统管理员来创建账号。
  • 授权策略-安全矩阵
    • 需要先注册一个admin用户(与角色名称相同),赋予全部的权限以便检验,否则我们将无法管理hudson。
    • 默认会有一个匿名用户角色,表示未登录用户的访问权限,你可以不授权或只授予read权限。
    • 添加用户/组:输入一个名称,然后点击添加,这里实际上是先建立一个角色,因为这时用户并不存在。然后注册一个相同名字的用户。
  • 授权策略-项目矩阵授权策略
    • 这个授权模型扩展自"安全矩阵",允许把下面的ACL(访问控制列表)矩阵附加到每个项目定义中(在Job配置页面). 就是说,除了可以在这里进行全局授权外,还可以在JOB中进行配置。
    • 任务设置-启用项目安全:这里只能对当前的JOb进行授权配置,同样的,这里也是创建角色,用户需要自己注册或管理员进行创建。如果“系统设置”与“JOB设置”中存在相同的角色,则权限取并集。
  • 反设置
    • 有时候会出现这样的情况,就是虽然创建了角色,但是没有勾选上“允许用户注册”,这时就无法控制hudson了,这时可以通过如下修改,开启“允许用户注册”。
    • 在$HUDSON_HOME环境变量对应的文件夹下config.xml,修改true 元素为false。重启hudson,这时候的Hudson又回归到无认证模式,任何人都能拥有该系统的全部权限。

创建构建任务

配置JOB_WORKSPACE

  • 构建时使用的目录,也就是从代码仓库中取得的代码所要保存的路径,默认路径为:HUDSON_HOME/jobs/$jobname/workspace
  • job的配置中,所有涉及到路径的配置,都是基于JO
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值