`
lovefly_zero
  • 浏览: 387051 次
  • 性别: Icon_minigender_1
  • 来自: 株洲
社区版块
存档分类
最新评论

使用Hudson进行持续集成(八)

    博客分类:
  • CI
阅读更多

运行并监控作业

  译自: http://www.javaworld.com/javaworld/jw-12-2008/jw-12-hudson-ci.html 

 

要运行您新近创建的作业,第一步就是跳转到http://localhost:8080/hudson(Hudson 控制面板)。图20显示了我在Ubuntu服务器上设置的全新的Hudson实例。
 

 图20. Hudson 控制面板

    在截屏的中心部分,您可以看到我刚刚定义的HeliosJMXTrunk 作业。当然这个截屏上还有其它一些很值得我们关注的条目:

  • 灰色球体状图标描述着作业的一种状态。灰色这种情况表明当前作业从来没有被构建过。
  • 在左边的表格中,名称为"Build Queue"的标签会显示当前正在运行或者准备运行的作业。表格中名为"Build Executor Status"的标签会公布已分配构建线程的状态。Hudson默认情况下会分配两个用于构建的线程,这意味着Hudson可以并行的执行两个构建。如果要修改它的数量,您可以单击Manage Hudson ,然后修改(1.3以后 # of executors)Configure Executors。请小心使用这个数量,因为软件的构建往往会相当密集的消耗内存资源;把太多构建同时加载到Hudson服务器是不合理的做法,因为这反过来可能会减缓您所有作业的执行效率。
  • RSS订阅图标。Hudson提供了另一种事件通知的方式:RSS订阅,包含整体系统的订阅和单独作业的订阅,主要有如下几种情况:
    •  成功的构建
    •  不稳定的构建
    •  被终止的构建
    •  SCM的改变

接下来请求一次构建,您可以点击作业列表表格中最右侧的构建图标。当然,您也可以单击当前作业的名称,它将指向您当前作业的主页,然后单击Build Now链接按钮。

当作业一旦运行,您将会看到这个作业正在队列中的仪表板和当前工作主页上运行。这两种显示如图21 。


 

图21. 当作业运行时两种不同的显示

 

      一般来说,您想在某些时候以通过视图输出作业的运行来监控当前作业的进展情况。为此,您链接到作业主页,单击Console Output。如果工作已完成,这将显示构建脚本产生的静态输出,;如果作业仍然在运行中,Hudson将不断刷新网页的内容,以便您可以看到它运行时的输出。图22 描述了这个非常有用的功能。



 

图22.  控制台以直播方式显示作业运行时的输出

一旦构建完成后,完成后的作业将会有三个地方进行显示。

  • 你可以在Hudson的控制面板上看到它,如图23 。
  • 你可以在当前作业主页上看到它,如图24 。
  • 通过点击构建历史中某个具体的构建链接,您就能跳转到Hudson为这个构建实例而专门创建的构建主页上。如图25。



 

  图 23.  Hudson控制面板上显示已完成的作业

 

     下面简要介绍控制面板中符号的意义,它描述了“作业状态”这一部分,黄色球标意味着构建成功,但被认为不稳定。W栏目代表着“天气”,这里的小太阳图标表示阳光普照。因为构建成功了而且没有任何处理插件(如上面所述的插件)来通知Hudson报告任何糟糕的情况。当然值得一提的是,最近一次构建花费了15分钟。这是因为我为测试套件中的一些单元测试时使用了一些调度组件,故意使运行时间延长了。把实际构建和测试在当前作业分隔开来运行其实是一个很好的选择


 图 24.  当前作业主页上显示已完成的作业

 

     当前作业主页上还包含了一些有趣的条目。左侧栏的链接主要控制作业的配置(为了修改你在New Job后的定义)、删除作业、构建作业。右边部分的链接指向最新的项目报告和构件。

 

 

图 25.  当前构建主页的已完成构建

    构建主页是针对一个构建实例而特设的。请注意,Hudson会分配一个内部的版本号用于跟踪分布式构建。此网页还列出Subversion的最新修订(没有在此次构建上的),同样还有三个失败的JUnit测试案例。这三个失败就是导致Hudson认为此次构建不稳定的原因,这说明该次软件构建并没有错误,只是有单元测试失败了。接下来的构建中,如果没有了任何单元测试错误的话,在控制面板和工程主页将显示一次稳健的构建。如图26中截屏所示。



 

 图 26. 二次构建后的控制面板和作业主页

 

    我现在已经涵盖了作业的配置、作业的启动以及请求一次即时构建所必须的步骤。接下来我们简单的讨论一下在Hudson中如何描述一个作业的状态。

作业状态

     在上面展示的截图中,您将注意到有两个图标描述当前作业的状态。Hudson使用两个概念来介绍一个作业的总体状况:

  • 作业状态:  图27中分级符号概述了一个作业新近一次构建会产生的四种可能的状态:
    • Successful: 完成构建,且被认为是稳定的。
    • Unstable:    完成构建,但被认为不稳定。
    • Failed:  构建失败。
    • Disabled: 作业已禁用。
  • 作业稳定性: 当一个作业中构建已完成并生成了一个未发布的目标构件,如果您准备暗中评估此次构建的稳定性,Hudson会基于一些后处理器任务为构建发布一个稳健指数(从0-100 ),这些任务一般以插件的方式实现。它们可能包括单元测试(JUnit)、覆盖率(Cobertura )和静态代码分析(FindBugs) 。分数越高,表明构建越稳定。图28中分级符号概述了稳定性的评分范围。任何构建作业的状态(总分100)低于80分就是不稳定的。

 

Job states

图 27.  作业状态

Job stability

图 28.  作业稳定性

  • 大小: 62.7 KB
  • 大小: 11.4 KB
  • 大小: 78.2 KB
  • 大小: 17.3 KB
  • 大小: 39.7 KB
  • 大小: 46.1 KB
  • 大小: 29 KB
3
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics