zoukankan      html  css  js  c++  java
  • 使用Hudson进行持续集成

    持续集成就是快速且高频率地自动构建项目的所有源码,并为项目成员提供丰富的反馈信息。

    一次完整的集成往往会包括以下6个步骤:

      持续编译:所有正式的源代码都应该提交到源码控制系统中,持续集成服务器按一定频率检查源码控制系统,如有新的代码,就出发一次集成,旧的已编译的字节码应当全部清除,然后服务器编译所有最新的源码

      持续数据库集成:在很多项目中,源代码不仅仅值Java代码,还包括了数据库SQL脚本。每次发现新的SQL脚本。就应该清理集成环境的数据库,重新创建表结构,并填入预备的数据

      持续测试:单元测试和集成测试都应该在每次集成的时候运行,并且在发生问题的时候能产生具体报告

      持续审查:持续集成可以使用Checkstyle和PMD之类的工具来生成个类报告,当审查发现问题时,可以给开发人员反馈警告信息

      持续部署

      持续反馈:将集成失败报告发送给这次集成相关的代码提交者,项目经理应该受到所有失败报告

    持续集成的好处:尽早暴露问题;减少重复操作;简化项目发布;建立团队信心

    在创建Hudson持续集成任务之前,用户需要对Hudson系统做一些基本的配置,包括JDK安装位置和Maven安装等在内的重要信息都不必须首先配置正确。

    对于一般的Maven项目,可选择的类型有Build a free-style software project和Build a maven2 project。前者不仅支持Maven,还支持Ant,Shell等。

    Discard Old Builds:配置如何抛弃旧的构件

      Days to keep builds:如果其值为非空的N,就仅保留N天之内的构建文件

      Max # of builds to keep:如果#非空,就保留最多#个最近构建的相关文件

    Source Code Management:源码仓库配置

    Build Triggers:任务的构建触发配置

      Build after other project are build:在其他项目构建完之后再构建本项目

      Build periodically:周期性构建本项目

      Poll SCM:周期性地轮询源码仓库,发现有更新的时候构建本项目

    Hudson使用了Unix任务调度工具Cron所使用的配置方式。这种配置方式使用5个字段表示不同的时间单位:分(0-59) 时(0-23) 日(1-31) 月(1-12) 星期几(0-7)

    每个字段除了可以使用其范围内的值以外,还可以使用一些特殊的字符:

      *:匹配范围内所有值

      M-N:连字符 表示匹配M到N范围内的所有值

      A,B,...,Z:逗号表示匹配多个值

      */X或M-N/X:范围加上斜杠表示匹配范围内能被X整除的值

    常用的配置方式

    * * * *:每分钟

    5 * * * *:每小时中的第5分钟

    */10 * * * *:每隔10分钟

    45 10 * * 1-5:周一到周五的上午10:45

    Hudson使用各种颜色表示人物当前的状态

      蓝色:任务最近一次的构建时成功的

      红色:任务最近一次的构建时失败的

      黄色:任务最近一次的构建时成功的,但不稳定,有失败的测试

      灰色:任务从未被执行或被禁用了

    Hudson使用一组天气的图标表示人物长期的一个状态

      万里晴空:任务80%以上的集成都是成功的

      稍有乌云:任务60%-80%的集成是成功的

      乌云密布:任务只有40%-60%的集成是成功的

      阴雨绵绵:任务的集成的成功率只有20%-40%

      电闪雷鸣:任务的集成成功率不到20%

    用户配置Hudson任务时,在配置页面的Post-build Actions部分选择Publish JUnit test result report选项,并且将Test report XMLs赋值为**/target/surefire-reports/TEST*.xml

    为Hudson配合邮件服务器信息

      SMTP server:SMTP邮件服务器地址

      Default user e-mail suffix:默认用户邮件后缀

      System Admin E-mail Address :系统管理员邮件地址

      Hudson URL:hudson服务器的地址

      SMTP Authentication:SMTP相关认证配置

    Hudson配置邮件反馈

      进入任务的配置页面,Post-build Actions中check E-mail Notification复选框

    一个典型的Hudson工作目录如下:

    *.xml:这些XML文件是Hudson核心及相关插件的配置

    war:若用户独立运行hudson.war,其内容会被释放到该目录后再启动

    users:hudson所存储的用户信息

    userContent:用户可以将任意内容放到该目录下通过Hudson服务页面的子路径访问

    updates:各类可更新的插件信息

    plugins:所有Hudson插件都被安装在该目录而不会影响到Hudson的核心

    jobs:包含了所有Hudson任务的配置、存储的构件、归档的构件输出等内容

  • 相关阅读:
    Python超级篇-机器学习
    python高给篇-爬虫
    机器学习之-sklearn
    luogu3384 【模板】树链剖分
    bzoj3884 上帝与集合的正确用法
    luogu2765 魔术球问题
    poj2976 Dropping tests 01分数规划
    luogu2764 最小路径覆盖问题
    luogu2763 试题库问题
    luogu2762 太空飞行计划问题
  • 原文地址:https://www.cnblogs.com/forerver-elf/p/6252658.html
Copyright © 2011-2022 走看看