hudson - CSDN
精华内容
参与话题
  • 持续集成工具hudson

    千次阅读 2014-11-26 10:13:26
    一.什么是持续集成 持续集成的核心概念 CI 过程会经常构建软件组件;在许多情况下,每当源代码存储库(比如 Subversion 或 ClearCase)中的代码发生变化时,都要构建软件组件。CI 的好处是:经常构建软件可以确保...

    一.什么是持续集成

    持续集成的核心概念

    CI 过程会经常构建软件组件;在许多情况下,每当源代码存储库(比如 Subversion 或 ClearCase)中的代码发生变化时,都要构建软件组件。CI 的好处是:经常构建软件可以确保尽早遇到问题(比如代码缺陷),避免问题在软件开发周期晚期变复杂时才被发现。

    工具与过程

    尽管 CI 实际上是一个过程,但是持续集成 这个词常常与一个或多个工具相关联。在本教程中,讲解如何安装、配置和使用 Hudson 作为 CI 服务器,但是要记住,CI 远不只是个工具。实际上,使用的工具可能是 CI 比较次要的方面,因为 CI 工具所做的仅仅是在代码存储库中探测到修改时运行构建。构建过程本身比用来运行它的工具重要得多。

    开始使用 CI

    开始使用 CI 需要三个组件:

    • 用 Ant 或 Maven 等工具建立的自动构建过程
    • 一个代码存储库,比如 CVS 或 Subversion
    • 一个 CI 服务器,比如 Hudson,但是 cron 作业也可以满足需要

    我们来详细讨论这些组件。

    自动的构建

    CI 过程会经常集成软件,这需要通过构建来完成。在 Java 环境中,Ant 是常用的构建平台。可以使用 Ant 可靠地自动执行编译、测试等任务,甚至可以执行软件检查和部署。在掌握了 CI 的所有组件之后,您会发现构建策略是成功的 CI 过程最重要的方面。如果缺少适当的构建过程,CI 就难以发挥作用。

    源代码管理

    为了让 CI 正确地发挥作用,需要一个源代码管理(SCM)系统或存储库,比如 Subversion 或 CVS。CI 服务器向 SCM 存储库查询代码修改。在找到修改时,CI 服务器执行签出(即更新本地沙箱)并执行构建。除了执行得更频繁之外,构建过程与在本地环境中执行的构建相同。

    CI 服务器

    对于成功的 CI 过程,需要用一个自动的过程监视 SCM 存储库并在探测到修改时运行构建,这也非常重要。对于 Java 平台,有许多可用的 CI 服务器,包括开放源码软件和商业产品。它们的基本配置都很相似,适合监视特定的 SCM 并在探测到修改时运行构建。所有 CI 服务器都有自己的优缺点。Hudson 尤其让人感兴趣,因为它容易配置而且具有强大的插件,这些插件可以显示测试结果趋势等信息。

    二.Hudson 简介

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

    Hudson 需要运行 Java 5。如果需要使用 Hudson 附带的嵌入式容器(Winstone)之外的其他容器,那么只需使用一种 Servlet 2.4 容器。对于大多数情况,Winstone 就足够了。

    三.Hudson使用

    CI 过程的最后一个方面是 CI 服务器本身。CI 服务器在整个开发过程中的主要作用是控制者:当服务器在代码存储库中探测到修改时,它将运行构建的任务委托给构建过程本身。如果构建失败了,那么 CI 服务器将通知相关方面,然后继续监视存储库。它的角色看起来是被动的;但是,它是快速反映问题的关键。

    安装 Hudson

    使用 Hudson 的主要好处之一是它的设置很简单。在最简单的情况下,Hudson 只需要两个步骤:

    1. 下载最新的版本(它打包为一个 WAR 文件)。 hudson官方网址:https://hudson.dev.java.net/
    2. 运行 java -jar hudson.war

    这样就可以了。因为下载的是一个 WAR 文件,所以如果愿意,可以将它部署在 Tomcat 或 JBoss 等容器中。这完全由您自己决定。当然,Hudson 假设在安装它的机器上运行着 Java 5,而且如果定义了 JAVA_HOME 环境变量,Hudson 就会使用它。(正如前面提到的,Hudson 需要 Java 5。)

    在安装并运行 Hudson 之后(将 WAR 文件部署到 servlet 容器或从命令行执行 java -jar hudson.war),启动浏览器并访问默认安装位置。如果通过命令行运行 Hudson 而且您在本地机器上,那么可以访问 http://localhost:8080/


    如果一切正常(实际上不太可能出问题),应该会看到图 2 所示的 Hudson 启动页面。

    配置 Hudson

    如果访问 Hudson 主页的本地实例并单击左上角的 Manage Hudson 链接,应该会看到图 3 所示的可配置选项列表。

    图 3. 配置 Hudson 非常容易

    参数说明:
    system.message 填写一些说明信息
    Quiet period:hudson定时构建工程的时间(秒)
     :设置hudson登陆的规则(默认为匿名登陆)
    TCP port for JNLP slave agents:不了解JNLP不敢胡写总之就是三种方式:固定(fixed) 随机(Radom) 不使用(disabled),使用固定时可以填入JNLP信息

    security realm:可以使用中间件容器,数据库,LDAP来验证安全,具体怎样用法没用过,以后会有更新,研究中.
    authorized:可以设置身份的验证方法:系统用户,匿名用户,自定义用户,还有继承用户(此处也在研究中,建议使用匿名用户)
    JDK installations:设置JDK的安装路径
    Shell executable:设置window shell命令
    Ant installation:设置ant 的安装路径
    mave installation设置mave的安装路径
    cvs executable:设置cvsnt执行进程的路径(cvs.exe)
    .cvspass file:设置cvsnt管理员文件的路径(passwd文件)
    e-mail notification:设置当发生错误时发送的邮箱地址
    hudson url:就是hudson的默认地址

    还可以配置服务器的其他几个方面,比如向 Hudson 提供一个电子邮件服务器的位置,以便在构建失败时接收电子邮件。根据您的组织设置电子邮件的方式,可能需要让系统管理员帮助设置这个特性。设置电子邮件并不是必需的;Hudson 还支持以 RSS 作为通知机制,对于某些人来说,这种方式比电子邮件更好。究竟选择哪些通知机制完全取决于您。(注意,这里说的是 “哪些”,也就是说,可以同时使用多种通知机制!)

    在 Hudson 中配置项目

    既然 Hudson 已经能够与 SCM 存储库通信了,就该配置项目了。这个示例所用的项目称为 solar-ci。在 Hudson 主页上单击左上角的 New Job 链接。这时会看到图 5 所示的屏幕:



    该页面可以使我们通过hudson来管理cvs里的一个对应的工程

    Project name:工程名称

    Description:描述信息

    Discard build:如果选择此项可以设置build记录保存的天数,或者build记录保存的数理,或者只保存最新的build记录,一般不需填写

    Advance project options:可以设置hudson定时检查cvs工程的时间间隔,还可以指定cvs工程check out到本地的工程路径,一般不需要填写

    Source code management:我们选择cvs将出现以下参数:

    Cvsroot:将写cvs登陆字符串,格式(:protocol:user:password@host:path),例如::pserver:cvsadmin:1@127.0.0.1:2401:/CVSNT/Repository,使用cvs必填
     

    Modules:填写cvs仓库下的具体工程名, 使用cvs必填

    Branch:填写分支名称,也可以勾选this is a tag,no a branch指定标记名称
     

    选择subversion可以进行相应的subversion设置

    Build trigger可以设置hudson自动执行的一些动作,build after others projects are built指定hudson构建完成后需要继续构建的工程名

    Build periodically 根据hudson定义的语法规则来设定自动构建工程的时间间隔

    Post-build actions

    设置一些构建完成后的动作,如放邮件,打包,产生测试报告,产生java doc 等.

    点击ok保存设置

    使用hudson
    进入刚配置的项目,可以在左侧build history看到历史的build记录,点击build now 可以手动执行构建动作,完成后可以通过记录标记的颜色来看是否出错,红色有错,蓝色成功.点击记录查看详细信息,如果有变化hudson将列出类信息 

    elipse插件应用
    eclipse updatesite:http://code.google.com/p/hudson-eclipse/
    重新打开eclipse在windows->preferences下将出现hudson选项,设置默认的hudson url保存.
    然后选择windows->open view打开hudson view

    如果你己经配置hudson项目将列出hudson的项目名称,右键菜单可以看到所有的执行菜单,使用还是很方便的,希望大家来完善这篇文章.


    参考 :http://www.blogjava.net/xiaodu/archive/2008/07/08/213298.html

    展开全文
  • 1 Hudson是什么? 简单的说就是一个开源的持续集成服务器。   通常可以完成这些事情:   ●check-out source code ●build and test the project ●publish the results ●communicate the results to ...

    1 Hudson是什么? 简单的说就是一个开源的持续集成服务器。

     

    通常可以完成这些事情:

     

    ●check-out source code

    ●build and test the project

    ●publish the results

    ●communicate the results to team members

     

    核心功能:

     

    ● Easy installation

    ● Easy confi guration

    ●Web based interface

    ● Distributed Builds

    ● Unit test Reporting

    ● File Fingerprinting

    ● Build status Notifi cation

    ● Extendable with plugin

     

     

     

    2 下载hudson

    http://hudson-ci.org/latest/hudson.war

     

     

     

    3 可以有两种方法来运行hudson

     

     

    ●独立运行(这种方法最简单)

    直接从命令行运行:  java -jar hudson.war

     

    如果没有添加java的环境变量, 也不要紧, 试试这个: 首先把hudson放在一个目录, 比如 D:\hudson.war, 然后进入cmd, "C:\Program Files\Java\jdk1.6.0_24\bin\java" -jar d:\hudson.war

     

     

    ●部署到一个JavaEE容器里面

    Glassfish

    Websphere

    Jboss

    Jetty

    Tomcat

    Winstone

     

     

     

    4 需要注意的是: 有4个插件会默认安装

     

     

    - CVS 代码管理

    - SVN 代码管理, 目前最流行的

    - Maven 项目打包, 和ant很像

    - SSH  linux的精髓,就不用说了吧


    展开全文
  • 持续集成工具之Hudson

    千次阅读 2013-12-27 16:50:16
    一.什么是持续集成  持续集成的核心概念  CI 过程会经常构建软件组件;在许多情况下,每当源代码存储库(比如 Subversion 或 ClearCase)中的代码发生变化时,都要构建软件组件。CI 的好处是:经常构建软件可以...
    一.什么是持续集成 
    持续集成的核心概念 
    CI 过程会经常构建软件组件;在许多情况下,每当源代码存储库(比如 Subversion 或 ClearCase)中的代码发生变化时,都要构建软件组件。CI 的好处是:经常构建软件可以确保尽早遇到问题(比如代码缺陷),避免问题在软件开发周期晚期变复杂时才被发现。 
    工具与过程 
    尽管 CI 实际上是一个过程,但是持续集成 这个词常常与一个或多个工具相关联。在本教程中,讲解如何安装、配置和使用 Hudson 作为 CI 服务器,但是要记住,CI 远不只是个工具。实际上,使用的工具可能是 CI 比较次要的方面,因为 CI 工具所做的仅仅是在代码存储库中探测到修改时运行构建。构建过程本身比用来运行它的工具重要得多。 
    开始使用 CI 
    开始使用 CI 需要三个组件: 

        * 用 Ant 或 Maven 等工具建立的自动构建过程 
        * 一个代码存储库,比如 CVS 或 Subversion 
        * 一个 CI 服务器,比如 Hudson,但是 cron 作业也可以满足需要 

    我们来详细讨论这些组件。 
    自动的构建 
    CI 过程会经常集成软件,这需要通过构建来完成。在 Java 环境中,Ant 是常用的构建平台。可以使用 Ant 可靠地自动执行编译、测试等任务,甚至可以执行软件检查和部署。在掌握了 CI 的所有组件之后,您会发现构建策略是成功的 CI 过程最重要的方面。如果缺少适当的构建过程,CI 就难以发挥作用。 
    源代码管理 
    为了让 CI 正确地发挥作用,需要一个源代码管理(SCM)系统或存储库,比如 Subversion 或 CVS。CI 服务器向 SCM 存储库查询代码修改。在找到修改时,CI 服务器执行签出(即更新本地沙箱)并执行构建。除了执行得更频繁之外,构建过程与在本地环境中执行的构建相同。 
    CI 服务器 
    对于成功的 CI 过程,需要用一个自动的过程监视 SCM 存储库并在探测到修改时运行构建,这也非常重要。对于 Java 平台,有许多可用的 CI 服务器,包括开放源码软件和商业产品。它们的基本配置都很相似,适合监视特定的 SCM 并在探测到修改时运行构建。所有 CI 服务器都有自己的优缺点。Hudson 尤其让人感兴趣,因为它容易配置而且具有强大的插件,这些插件可以显示测试结果趋势等信息。 

    二.Hudson 简介 

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

    Hudson 需要运行 Java 5。如果需要使用 Hudson 附带的嵌入式容器(Winstone)之外的其他容器,那么只需使用一种 Servlet 2.4 容器。对于大多数情况,Winstone 就足够了。 

    三.Hudson使用 

    CI 过程的最后一个方面是 CI 服务器本身。CI 服务器在整个开发过程中的主要作用是控制者:当服务器在代码存储库中探测到修改时,它将运行构建的任务委托给构建过程本身。如果构建失败了,那么 CI 服务器将通知相关方面,然后继续监视存储库。它的角色看起来是被动的;但是,它是快速反映问题的关键。 

    安装 Hudson 

    使用 Hudson 的主要好处之一是它的设置很简单。在最简单的情况下,Hudson 只需要两个步骤: 

       1. 下载最新的版本(它打包为一个 WAR 文件)。 hudson官方网址:https://hudson.dev.java.net/ 
       2. 运行 java -jar hudson.war。 

    这样就可以了。因为下载的是一个 WAR 文件,所以如果愿意,可以将它部署在 Tomcat 或 JBoss 等容器中。这完全由您自己决定。当然,Hudson 假设在安装它的机器上运行着 Java 5,而且如果定义了 JAVA_HOME 环境变量,Hudson 就会使用它。(正如前面提到的,Hudson 需要 Java 5。) 

    在安装并运行 Hudson 之后(将 WAR 文件部署到 servlet 容器或从命令行执行 java -jar hudson.war),启动浏览器并访问默认安装位置。如果通过命令行运行 Hudson 而且您在本地机器上,那么可以访问 http://localhost:8080/。 




    如果一切正常(实际上不太可能出问题),应该会看到图 2 所示的 Hudson 启动页面。 

    配置 Hudson 

    如果访问 Hudson 主页的本地实例并单击左上角的 Manage Hudson 链接,应该会看到图 3 所示的可配置选项列表。 
    图 3. 配置 Hudson 非常容易 



    参数说明: 
    system.message 填写一些说明信息 
    Quiet period:hudson定时构建工程的时间(秒) 
    Enable security:设置hudson登陆的规则(默认为匿名登陆) 
    TCP port for JNLP slave agents:不了解JNLP不敢胡写总之就是三种方式:固定(fixed) 随机(Radom) 不使用(disabled),使用固定时可以填入JNLP信息 
    security realm:可以使用中间件容器,数据库,LDAP来验证安全,具体怎样用法没用过,以后会有更新,研究中. 
    authorized:可以设置身份的验证方法:系统用户,匿名用户,自定义用户,还有继承用户(此处也在研究中,建议使用匿名用户) 
    JDK installations:设置JDK的安装路径 
    Shell executable:设置window shell命令 
    Ant installation:设置ant 的安装路径 
    mave installation设置mave的安装路径 
    cvs executable:设置cvsnt执行进程的路径(cvs.exe) 
    .cvspass file:设置cvsnt管理员文件的路径(passwd文件) 
    e-mail notification:设置当发生错误时发送的邮箱地址 
    hudson url:就是hudson的默认地址 

    还可以配置服务器的其他几个方面,比如向 Hudson 提供一个电子邮件服务器的位置,以便在构建失败时接收电子邮件。根据您的组织设置电子邮件的方式,可能需要让系统管理员帮助设置这个特性。设置电子邮件并不是必需的;Hudson 还支持以 RSS 作为通知机制,对于某些人来说,这种方式比电子邮件更好。究竟选择哪些通知机制完全取决于您。(注意,这里说的是 “哪些”,也就是说,可以同时使用多种通知机制!) 

    在 Hudson 中配置项目 

    既然 Hudson 已经能够与 SCM 存储库通信了,就该配置项目了。这个示例所用的项目称为 solar-ci。在 Hudson 主页上单击左上角的 New Job 链接。这时会看到图 5 所示的屏幕: 




    该页面可以使我们通过hudson来管理cvs里的一个对应的工程 

    Project name:工程名称 

    Description:描述信息 

    Discard build:如果选择此项可以设置build记录保存的天数,或者build记录保存的数理,或者只保存最新的build记录,一般不需填写 

    Advance project options:可以设置hudson定时检查cvs工程的时间间隔,还可以指定cvs工程check out到本地的工程路径,一般不需要填写 

    Source code management:我们选择cvs将出现以下参数: 
    Cvsroot:将写cvs登陆字符串,格式(:protocol:user:password@host:path),例如: :pserver:cvsadmin:1@127.0.0.1:2401:/CVSNT/Repository,使用cvs必填 


    Modules:填写cvs仓库下的具体工程名, 使用cvs必填 
    Branch:填写分支名称,也可以勾选this is a tag,no a branch指定标记名称 


    选择subversion可以进行相应的subversion设置 

    Build trigger可以设置hudson自动执行的一些动作,build after others projects are built指定hudson构建完成后需要继续构建的工程名 

    Build periodically 根据hudson定义的语法规则来设定自动构建工程的时间间隔 

    Post-build actions 

    设置一些构建完成后的动作,如放邮件,打包,产生测试报告,产生java doc 等. 

    点击ok保存设置 
    使用hudson 
    进入刚配置的项目,可以在左侧build history看到历史的build记录,点击build now 可以手动执行构建动作,完成后可以通过记录标记的颜色来看是否出错,红色有错,蓝色成功.点击记录查看详细信息,如果有变化hudson将列出类信息 

    elipse插件应用 
    eclipse updatesite:http://code.google.com/p/hudson-eclipse/ 
    重新打开eclipse在windows->preferences下将出现hudson选项,设置默认的hudson url保存. 
    然后选择windows->open view打开hudson view 
    如果你己经配置hudson项目将列出hudson的项目名称,右键菜单可以看到所有的执行菜单,使用还是很方便的. 


    一: 什么是Hudson. 

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

      Hudson 需要运行 Java 5。如果需要使用 Hudson 附带的嵌入式容器(Winstone)之外的其他容器,那么只需使用一种 Servlet 2.4 容器。对于大多数情况,Winstone 就足够了。运行Hudson有两种方式: 1.可以将Hudson部署到Tomcat下面运行, 具体部署方法为......................................................................................................................2. 可以使用命令启动hudson。步骤:首先下载hudson.war(https://hudson.dev.java.net),然后可以在一个盘符下建立一个文件夹,如D:\hudson,然后将这个路径设置环境变量,Hudson_Home=D:\hudson,最后使用命令java -jar hudson.war启动hudson. 

        我在使用hudson的过程中使用的第二种方法来运行hudson的,下面进行逐一的介绍: 

    启动界面如下(http://localhost:8080) 

    持续集成工具之Hudson 

     

    一)首先对hudson进行整体的配置:选择Manage Hudson按钮,进入下一个界面 

    持续集成工具之Hudson 

     

    Configure System: 可以对hudson进行系统配置,包括全局路径和变量设置等。如下图 

    持续集成工具之Hudson 

     



    1):System Message 当然了这是表面的东西啦,比如你可以写成 o,hi,hello,how are you,thank you,什么什么之类的,它也支持HTMl语言,可以把这个欢迎界面弄的相当漂亮。我是比较懒的那种人,所以嘛......嘿嘿! 

    2):Quiet period 这个值是表示你可以让你的构建有等待时间,以防止在提交代码的过程中去开始构建。这里是全局的变量,我习惯在每个项目里面去设定,因为我使用hudson搭建的项目有SVN的还有VSS的,这个等待时间的值肯定会不一样。(如果你想在这里设置可以查看右边的“帮助”) 

    3):Enable security 这里是hudson权限的相应设置,选择该项后,如下图: 

    持续集成工具之Hudson 
     


    TCP port for JNLP slave agents:可以设定JNLP的端口,我的选择是Disable 

    其它选项如下: 

    持续集成工具之Hudson 
     




    Project-based Matrix Authorization Strategy 这里可以设置项目参与者每个人不同的权限,如Read,Delete,Configure,Create等。 

    4):JDKs,shell,Ant,Maven,CVS等等,这些可以在这里设定,也可以在你的XML(ant语句)配置文件里面设定。我的是在XML里面设好了的。这里就不做介绍啦,如果想了解的更深,右边的“help”会有很大的帮助。 我就不多说废话了。害羞 

    5):E-mail Notification 这个还要多说什么吗?什么? 发火   哦,那还是说一下吧. 

    SMTP server-->mail服务器地址(127.0.0.1) 

    Default user e-mail suffix-->邮件的后缀名(@123.com) 

    System Admin E-mail Address-->管理员用户的邮件帐号123@123.com 

    Hudson URL-->访问hudson的URL(http://127.0.0.1:8080) 



    Manage Plugins:可以下载hudson支持的各种插件。如可以下载CVS Tagging Plugin FTP-Publisher Plugin Visual SourceSafe Plugin等等,我就不在这里做一一的介绍了,具体这些插件有什么作用,可以在下载界面看具体描述。(当然,你也可以通过设置代理去下载这些插件,个人觉得只要选择适用于自己项目的插件即可。) 

    Install as Windows Service:可以将hudson加载为Windows的服务,在每次启动Windows的时候可以启动hudson,我的服务器是不关机的,所以这项我没有用到,没有实验过具体怎么实现,但是我觉得应该很简单的哦。 得意 

    Configure Executors  Reload Configuration from Disk System Information System Log Script Console Prepare for Shutdown这几项没有玩过的,不知道具体是干什么的,只是知道大概可以干些什么事。等有时间再去研究啦 偷笑 

    行了吧?说的够详细了吧?还是不明白的话就找我吧,QQ:252285669 

    以上就是对hudson的整体的配置啦,是不是相当的简单方便?至于项目的东西一会再写。休息休息 海盗 

    前面说到Hudson的整体配置, 现在来说下如何通过hudson去配置一个实际的项目 

    打开http://localhost:8080界面,可以看到左边有三个选项,分别为New Job Manage Hudson Build History选择New Job选项, 进入一个界面 

    持续集成工具之Hudson 
     




    Job name取名为TestJob, 并选择Build a free-style software project,其它几个(如Build a maven2 project等)要看根据项目的需要去适当选择,我是用ant来集成的一个构建环境,然后OK. 

    进入下一个界面 

     

     

    持续集成工具之Hudson持续集成工具之Hudson 

    下面就又要开始一一介绍这个界面了,  

    一: Project Name 在你建立项目的时候已经取过名字了,TestJob.如果你哪天想改名字,就在这里改就可以了. 

    二: Description 这里主要是写对TestJob这个项目的描述,可以写项目的参与者,项目起止日期等等,可以说这个地方是美化界面+项目描述+提示信息等等,我对于界面美化没有太多的要求,这个就留给大家去研究啦. 

    三: Discard Old Builds 建议开启这个选项(hudson有一个选项,可以从SVN上check out项目,但这个项目的位置好像只能是%hudson_home%/jobs/projectname/workspace下面,本人认为这是一个不合理的方式,因为很正常的大家都会在自己的目录下建立项目后,然后再用hudson去构建环境,关于这个选项我下面再说,很讨厌的东西),有个图示如下, 

    持续集成工具之Hudson 
     


    Days to keep builds: 是说你每次构建后的版本(可以在%hudson_home%/jobs/projectname/builds下面找到,如果你的目录下没有这个目录,说明你的构建还没有正式开始,即不存在构建记录),会保留的时长. 

    Max # of builds to keep: 是说你要保留最多多少个构建出来的版本 

    四: This build is parameterized: 表示这个build是参数化的(目前为止我还没有用过这个选项,没有实践就没有发言权,我就不多说了),可以理解为在一个完整的构建中,这个构建过程需要依赖于某个第三方包,或者某个类,再或者某些特定的方法等. 

    五: Disable Build: 这个选项可以将某个构建项目临时性的停掉.比如我们有两个工程.TestJob和TestJob1,在两个工程启用一段时间后,TestJob1已经被临时性的停掉,但并不是真正意义上的废除。我们可以进入TestJob1配置界面,将此项选中即可。 

    六:Advanced Project Options: 这里是表示你可以对你的项目构建进行一定的设置,它下面包括两个小的选项, 

    1.Quiet period: 时间可以根据项目的需要来设定。哦,差点忘了,这里的这个时间是说明从构建开始到项目真正开始构建之间的时间差,比如,我将此时间设为300S,说明 TestJob在要开始构建之前会有5分钟的时间缓冲,这个是非常人性化的,因为如果有大量的代码需要提交,会需要很长时间,如果没有等待时间的话很容易出现少代码的情况导致整个构建过程的失败。 

    2.Use custom workspace:这个地方你可以将可以对外公布的东西放在一个特定的目录下,然后把这里的值设成该目录,如:D:\hudson\jobs\TestJob\builds这样的话,这个目录下的东西是就公共的了。 

    七:Source Code Management: 从名字上看就应该知道是什么意思了吧? 

    持续集成工具之Hudson 
     


    这个选项是源码管理,当然也有很多的源码管理工具供你选择了,如CVS,SVN还有Hudson的插件,如VSS等等,详细的可以参考上面的一项专门介绍如何使用hudson的plugin的。我们以Subversion(俗称SVN)为例,向简单说一下。 

    Modules  Repository URL:这里是你要管理的代码在哪里的SVN库上(或者库的URL等等)。如:http;//127.0.0.1:8080/SVN/project/_test 

             Local module directory(optional): 这个是你要给你的项目选择一个本地的存放的目录,以我的实践经验来看。这个目录只是能在%Hudson_home%/jobs/projecct_name/下面的一个地方存储,而不能放到另外的盘符或者目录下。(如此处说明有误,本人洗耳恭听)。 

    Use update: 这里选项勾上后,每次检测到库上有更新,就会使用svn update命令;如果没有勾上的话,那每次使用的是svn checkout命令。熟悉SVN的人都知道,小项目的话这两个区别不大,但如果是大项目的话,update要比checkout命令省相当多的时间。 

    Repository browser: 我也不知道这里是干嘛使的,没研究,反正每次我都会选择(Auto)选项。 

    八:Build Triggers:可以理解为你想以什么样的方式去触发你的构建,以其它构建成功后为基础,还是周期性的构建,还是根据poll SCM(变更触发)来触发构建。 

    持续集成工具之Hudson 
     


    一般选择一项即可,我使用的是poll SCM。第一项最简单,但对于大多数项目来说不太适用。它是根据TestJob这个工程所依赖的其它项目构建成功为基础,如TestJob要依赖于Test这个项目(包括jar包啊,环境啊什么的),然后在Projects names里面填写它所依赖于的项目名称即可,如Test;第二项,是周期性构建,Hudson提供了一种语法,可以查看后面的help,要在Schedule里面使用这个语法,如我写成* * * * *,这表示每分钟要构建一次,*/30 * * * *,则表示每隔30分钟进行一次构建。当然也可以设定年月日等日期;第三项是根据检测的更新去执行构建,Schedule的语法表示跟上面一样的,就不多说了。 

    九:Build 这里是Hudson构建部分的正式开始,也是心脏。先看下面几个图吧。持续集成工具之Hudson 
     


    我的项目是使用ant来实现的,当然我就选择Invoke Ant选项,从这里来看,好像你可以自己在这个界面上直接定义ant语法,我的是有专门的ant文件去执行某个target, 也有一个总的build.xml将这些target连接起来,还自己写义了上些的properties文件,可以使用ant直接调用。里面定义了一些路径啊,常量啊什么的。 

    持续集成工具之Hudson 

     

    Targets: 当然这里我可以选择任意的啦,也可以不填写这里。(上面说了我都有一个总的build.xml啦) 

    Build File: 选择我的build.xml所在的位置。 

    Properties: 如果是自己在Hudson里面写ant的话,这里可以对一些常量进行定义,如路径名等等。 

    Java Options: 去定义java在运行时的一些参数,如-Xmx512m等等。 

    十:Post-build Actions这里也可以说是做一些发布啊,善后啊之类的,可以看到有mail, artifacts, publish之类的。

    持续集成工具之Hudson 

     

    我只说我用过的几个,别的我也没资格啦。 

    Archive the artifacts 看下图 

    持续集成工具之Hudson 
     


    可以指定archive的路径,如D:\hudson\jobs\TestJob\builds, Excludes可以排除上些你不想成为archive的东西,如*.bak,*.zip之类的。 

    Discard all but the last successful/stable artifact to save disk space这个选项可以要也可以不要,但是如果你硬盘够大的话,这个选项还是不要勾的好,这样还可以去查看artifacts的历史。 

    Build other projects看下图 

    持续集成工具之Hudson 

     

    这里和上面的第八大节里面的Build Triggers的Build after other projects are built有一个承上启下的作用。可以定义在这个项目构建成功后去构建哪几个项目。Trigger even if the build is unstable建议项目之间依赖特别强的不要勾此选项,如果依赖不是特别强的话可以选择此项以保证构建的持续性。 

    E-mail Notification看下图 

    持续集成工具之Hudson 
     


    Recipients:填写收信的地址,下面有两个选项,建议两个都要选上,第一个是为每个不稳定的构建都要发mail通知相关的人,看来Hudson的开发者也相信no news is good news  大笑  第二个是一个比较好的想法,但是我觉得做的还不够完美,这是给两次构建之间,对project进行修改过的所有的人都发一封mail,以告诉他们当前版本构建失败,速度改正错误。 
    展开全文
  • Hudson 持续集成

    千次阅读 2018-06-07 06:56:59
    Hudson 持续集成概述IP:192.168.4.221 8G 内存(Hudson 多个工程在同时构建的情况下比较耗内存) 环境:CentOS 6.6、JDK7 Hudson 不需要用到数据库Hudson 只是一个持续集成服务器(持续集成工具),要想搭建一套完整...

    Hudson 持续集成

    更多干货

    概述

    IP:192.168.4.221 8G 内存(Hudson 多个工程在同时构建的情况下比较耗内存) 环境:CentOS 6.6、JDK7 Hudson 不需要用到数据库

    Hudson 只是一个持续集成服务器(持续集成工具),要想搭建一套完整的持续集成管理平台, 还需要用到前面课程中所讲到的 SVN、Maven、Sonar 等工具,按需求整合则可。

    ctoedu

    1、 安装 JDK 并配置环境变量

    JAVA_HOME=/usr/local/java/jdk1.7.0_72

    2、 Maven 本地仓库的安装(使用 Maven 作为项目构建与管理工具):

    • 下载 maven-3.0.5

    (注意:建议不要下载 3.1 或更高版本的 Maven,因为与 Hudson 进行集成时会有问题,之前有遇到过):

    # wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.0.5/binaries/apache-maven3.0.5-bin.tar.gz
    • 解压:

    # tar -zxvf apache-maven-3.0.5-bin.tar.gz
    # mv apache-maven-3.0.5 maven-3.0.5
    • 配置 Maven 环境变量:

    # vi /etc/profile
    ## maven env
    export MAVEN_HOME=/root/maven-3.0.5
    export PATH=$PATH:$MAVEN_HOME/bin
    # source /etc/profile

    3、 配置 HudsonHome,在/root 目录下创建 HudsonHome 目录,并配置到环境变量

    # mkdir HudsonHome

    切换到 root 用户,在/etc/profile 中配置全局环境变量 # vi /etc/profile ## hudson env export HUDSON_HOME=/root/HudsonHome # source /etc/profile

    4、 下载最新版 Tomcat7,当前最新版为 7.0.59:

    # wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.59/bin/apache-tomcat7.0.59.tar.gz

    5、 解压安装 Tomcat:

    # tar -zxvf apache-tomcat-7.0.59.tar.gz
    # mv apache-tomcat-7.0.59 hudson-tomcat

    移除/root/hudson-tomcat/webapps 目录下的所有文件:

    # rm -rf /root/hudson-tomcat/webapps/*

    将 Tomcat 容器的编码设为 UTF-8:

    # vi /root/hudson-tomcat/conf/server.xml
    <Connector port="8080" protocol="HTTP/1.1"
     connectionTimeout="20000"
     redirectPort="8443" URIEncoding="UTF-8" />

    如果不把 Tomcat 容器的编码设为 UTF-8,在以后配置 Hudson 是有下面的提示:

    ctoedu

    设置 hudson-tomcat 的内存

    # vi /root/hudson-tomcat/bin/catalina.sh
    #!/bin/sh 下面增加:
    JAVA_OPTS='-Xms512m -Xmx2048m'

    6、 下载最新版的 Hudson(这里是 3.2.2 版)包:

    # wget http://mirror.bit.edu.cn/eclipse/hudson/war/hudson-3.2.2.war

    将 war 包拷贝到 hudson-tomcat/weapps 目录,并重命名为 hudson.war

    # cp /root/hudson-3.2.2.war /root/hudson-tomcat/webapps/hudson.war

    7、 防火墙开启 8080 端口,用 root 用户修改/etc/sysconfig/iptables,

    # vi /etc/sysconfig/iptables

    增加:

    ## hudson-tomcat port:8080
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

    重启防火墙:

    # service iptables restart

    8、 设置 hudson-tomcat 开机启动:

    在虚拟主机中编辑/etc/rc.local 文件,

    # vi /etc/rc.local

    加入:

    /root/hudson-tomcat/bin/startup.sh

    9、 启动 hudson-tomcat

    # /root/hudson-tomcat/bin/startup.sh

    10、 配置 Hudson:

    ctoedu

    初始化安装需要安装 3 个默认勾选中的插件(如上图红色部分),其它插件可以等初始化安装完成之后再选择安装。

    点击“Install”安装按钮后,需要等待一会时间才能安装完成。安装完成后按“Finish”按钮。

    安装的插件保存在 /root/HudsonHome/plugins 目录。

    • 初始化完成后就会进行 Hudson 的配置管理界面:

    ctoedu
    ctoedu

    安全配置

    ctoedu

    使用项目矩阵授权策略

    ctoedu

    注册一个超级管理员账号

    ctoedu
    ctoedu
    ctoedu

    系统设置

    ctoedu

    配置系统信息、JDK、Maven

    ctoedu
    ctoedu
    ctoedu

    保存后的效果

    ctoedu

    插件安装

    ctoedu

    结合我们想要实现的持续集成功能,需要安装如下几个插件。如想集成更多功能,自行添加插件并配置则可。(注意:现在我们使用了 SonarQube 质量管理不台,则不再需要在 Hudson 中单独去安装 CheckStyle、Findbugs、PMD、Cobertura 等 Sonar 中已有的插件)

    逐个搜索你想要安装的插件并点击安装,安装完之后重启 Hudson。

    如下图所示:

    ctoedu
    ctoedu

    在 Hudson 中配置 SonarQube 链接

    ctoedu

    以上就是 Hudson 的基本安装和配置,更多其它配置和功能可自行扩展

    Hudson 的使用(使用 Hudson 来自动化编译、分析、打包、发布、部署项目)

    添加项目

    ctoedu
    ctoedu
    ctoedu
    ctoedu
    ctoedu
    ctoedu
    展开全文
  • 添加项目 edu-common-parent为所有项目的父级项目,没有任务Java代码,如果项目中有Java代码,则与上述配置稍微有点区别,具体看下面的步骤。
  • Hudson配置个人持续集成服务器

    千次阅读 2011-02-21 14:24:00
    2. 创建Hudson工作目录,例如d:/Hudson,并设置系统环境变量HUDSON_HOME到d:/hudson;3. 下载最新版本的Hudson安装包到d:/hudson目录下(http://hudson-ci.org/latest/hudson.war);4. 从windows命令行启动Hudson:...
  • jenkins 禁用security
  • Jenkins用户配置

    万次阅读 2012-10-17 21:29:37
    添加第一个用户 步骤是系统管理-启用安全-访问控制-Jenkins专有用户数据库-安全矩阵,如图 ...save后,在jenkins home(/var/lib/jenkins)目录下面生成config.xml文件 ... hudson.model.Computer
  • 如何安装Hudson

    千次阅读 2011-10-21 10:19:32
    有效命令  ./run.sh -Djava.awt.headless=true 无效 java -jar hudson.war --...hudson的安装使用(windows下以及linux下) 一、windows下: 1.下载jdk.(java) JDK1.6官方下载_JDK6官方下载地址
  • Hudson和Jenkins的关系

    万次阅读 2013-03-24 12:35:45
    转自:http://en.wikipedia.org/wiki/Jenkins_... Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson after a dispute with Oracle, which c
  • 在使用Hudson的执行sh脚本的时候,如果sh脚本是一个后台进程,如 Tomcat 这样的服务。如果使用Hudson的默认配置,会发现这些sh 进程有启动的过程,但是不会常驻后台,看Hudson 输出的日志,发现Hudson在Job构建结束...
  • hudson.plugins.git.GitException

    千次阅读 2018-05-05 10:29:17
    使用jenkins构建工程时报错[EnvInject] - Loading node environment variables. Building in workspace /data/jenkins/workspace/project-name &gt; git rev-parse --is-inside-work-tree # timeout=10 ...
  • Hudson.war下载后,第一次启动它,会进入一个要求安装必选插件,同时推荐Feature Plugins & Recommended Plugins, 选好后,在该页的下面部分,会有一个区域要求填写 HTTP Proxy Configuration信息,如果不写直接点击...
  • Hudson持续集成服务器的使用(自动化编译、分析、打包、部署)
  • 从零开始配置Jenkins(三)——用户权限管理

    万次阅读 热门讨论 2016-02-26 20:55:28
    背景最近项目管理中需要对jenkins的权限进行区分和限定,就研究了一下下。顺道把用户和权限这块的内容分享给大家。...在系统设置,Configure Global Security下 设置完成后,进入“管理用户”,就可以创建用户了。...
  • Found mavenVersion 3.3.9 from file jar:file:/usr/local/src/ci/apache-maven-3.3.9/lib/maven-core-3.3.9.jar!/META-INF/maven/org.apache.maven/maven-core/pom.properties Parsing POMs ...
  • Jenkins/Hudson是一套非常强大的自动化构建系统,其具有使用简单,对各种开发环境支持良好,正确地使用能解决研发过程管理中版本构建、发布的诸多问题。本文描述了笔者在使用过程中碰到的一个问题,同时给出了该问题...
  • Hudson配置slave machine

    千次阅读 2011-02-21 14:22:00
    运行Hudson服务的机器叫做Master machine,通过Hudson的node功能,可以配置其他机器作为Master的slave,在master统一分配,运行任务。1. 启动Hudson;2. 点击Hudson-->Manage Hudson-->Manage Nodes-->New Node,...
  • hudson的使用方法

    千次阅读 2011-12-29 13:12:56
    Hudson 项目总结   1. Hudson 介绍 Hudson是一款可扩展的持续集成(Continuous Integration)引擎。 1.1 主要作用: (1)自动化地构建软件项目。 (2)构建可持续的自动化检查 (3)构建可持续的自动化测试...
  • hudson搭建经验总结

    千次阅读 2013-08-20 15:46:14
    hudson 是一种革命性的开放源码 CI (持续集成)服务器,随着工程源码越来越庞大,把源码编译工作放在本地机器已不现实,因此最近决定在svn服务器上部署hudson上进行持续集成。svn服务器的环境是windows server2008,...
1 2 3 4 5 ... 20
收藏数 15,019
精华内容 6,007
热门标签
关键字:

hudson