当时方位: 主页 > Linux学院 > 程序设计 > 软件工程 > 什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

2014-08-01 09:13 来历:IBM 作者:王庆武 人气指数: 我要谈论

Jazz 是 IBM Rational 面向软件交给的以及团队协作的协作渠道。能够进步项意图交给功率,增强团队间的协作才能,而且能够及时的反响出项意图办理进展等特色。在 Jazz 渠道中,Jazz Build Engine(简称 JBE)能够灵敏地完结一个项目构建,是整个项目构建进程的中心。

Jenkins 介绍

Jenkins 是一个依据 Java 开发的继续集成的运用东西,用来履行重复的作业,例如定时的构建一个产品或许运转一项使命等。

现在 Jenkins 首要会集在两项使命:

  • 继续的构建及测验使命。
  • 监控外部履行的使命。

Jenkins 有许多特色,下面结合本文对其间几个做一介绍:

  • 装置简略:这个特色也使得 Jenkins 得以快速开展的首要条件。总所周知,曾经许多的结构尽管功用强壮,但前期装置布置的确让人头疼。可是关于 Jenkins 来说,咱们只需求下载一个 WAR 包,布置到一个 Servlet Container 中(如,Tomcat)就能够完结装置了。
  • 配备简略:当咱们在 Jenkins 中界说好一个使命后,咱们能够经过使命配备页面去填写定制的功用。比方:代码源、触发的脚本,的 IP 等等。
  • 邮件等的集成: 当咱们的使命履行完毕后,假如使命失利,咱们能够让 Jenkins 发送一个邮件到咱们指定的邮箱里。
  • JUnit 测验成果报表:当自动化测验完毕后,生成一个 JUnit 格局的 xml,这个 xml 成果被 Jenkins 捕捉到并展示在页面上。能够明晰的让测验人员看到每个用例的履行状况和整个使命履行状况的走势图。
  • 对插件的支撑:由于当咱们发动一个 Jenkins 的时分,并不是一切的功用都是被敞开的,所以咱们要在详细的运用环境中依据需求敞开某些第三方的插件功用。比方在本文中要用的 URL Trigger 功用,便是一个第三方插件,需求手动启用。

Jenkins 对 JBE 的含义

Jenkins 使得自动化测验和产品构建变得愈加灵敏和直观,而且不受任何环境约束咱们就能够以报表的办法检查到每项使命详细的履行成果。所以,把 Jenkins 融入到 JBE 中,不只能够承继原有的 Jazz 项目构建架构,而且还能够把 BVT (Build Verification Test) 的流程增加到项目构建中,既进步了产品的质量,又能够把每次构建的成果以报表的办法明晰的展示在画面上,愈加易于项目构建团队交给高质量的产品。

项目构建架构

图 0.项目构建架构

点击这儿给我发消息

下面临 Jenkins+JBE 的构建架构做一介绍。

此架构首要分为两块内容:Jazz 渠道的项目构建部分和 Jenkins 自动化部分。

首要介绍一下 Jazz 部分。在 Jazz 渠道中,项目构建经过 JBE(Jazz Build Engine)来完结,生成一个打包文件,例如,rpm、exe 等。并发布到一个 Pre-Release 的当地以备 Jenkins 自动化测验运用。然后,运用 Jenkins 来对发布前的产品做终究的 BVT(Build Verification Test),以确保一个产品的构建能够经过根本功用的测验,然后进步发布出去产品的质量,并进步客户的满意度。

  • JBE 是 Jazz 渠道里构建项意图中心,咱们能够经过 Build Definition 拟定一个计划使命,定时或许依据 Repository Workspace(存储库)中的代码变化来触发一个项目构建恳求。
  • Repository Workspace(存储库)用于寄存项目开发中的代码。
  • Pre-Release 是一个文件,首要便是用来寄存产品各个版别发布前的构建。为下一步 BVT 做准备。
  • Master Server 是 Jenkins 用于调度各个 Job 的操控中心。经过 URL Trigger 这个插件来监听 JBE 的履行成果。当一个 Build 恳求在 Jazz 渠道成功完毕后,会触发 Master Server 去发动相应的 BVT 使命,并在 Slave 节点上运转脚本去履行 BVT。终究把 BVT 的履行成果显现在 Jenkins 的页面上,能够清楚的检查到这个使命的履行前史、测验成果、走势等信息。
  • Slave Server 是详细履行各个 Jenkins Job 的节点。Jenkins 会在 Slave Server 上生成履行脚本,对 BVT 来说整个脚本调用也是发作在这台机器上的。
  • BVT Server 是用来做 BVT 的测验机,在这上面需求装置运转 BVT 的测验环境。BVT 的测验用例一般都是一些根本的功用,不必太过于详尽,由于到此一个项目现现已过了 UT、FVT、IVT 等测验流程,所以在此咱们只要能确保一个构建出来的产品能够正常的装置、确保根本功用的运转就能够。至于详细用例的界说,因项目而异。终究,Slave 节点会获得测验成果并发送给 Master Server。
  • Git Server 是用来寄存 Build team 在进行 Jenkins 自动化测验、环境布置等流程的一些代码。
  • Release Server 是对外开放的一个文件。在这儿 Build team 发布了经过 BVT 测验的产品。各个 team 能够在此获得不同的产品版别。

在整个架构中有两个 Repository,一个是用来作为项意图代码办理,即用于项目办理。第二个 Repository 便是用于 Jenkins 脚本的办理。这两个 Repository 也能够合并到一同,可是关于公司来说,由于产品不同,往往有多个 Repository,一般以项目或部分而异。一般 Build team 会有一个独自的 Repository 寄存代码,以防影响到其他项意图办理。

关于 Jenkins 而言,也有本身的架构解决方案。有 Master 和 Slave 的两个概念,这样就能够很好的分管 Master 机器的作业量和运转压力,以防 Master Server 宕机而影响到其他产品构建的正常运转。Jenkins 的灵敏性和兼容性,能够调用多种脚本言语。当一个构建恳求被触发,JBE 会从 Repository Workspace 上抓取代码,下载到本地,然后经过 Command 特点来运转详细的构建脚本或许指令。当一切的编译、测验等都经往后,终究一个产品就正式地发布给用户运用。

实践事例

下面经过一个项目作为示例来加深对此结构的了解。

首要,对 Jazz 的 Build 做一个简略介绍,这儿只阐明需求留意的几个点,关于 JBE 的详细描述能够参阅 Jazz 社区的专题介绍。下面咱们界说一个 Build(如图 1),在这个 Build 的界说画面里咱们能够填写和配备 JBE 构建时要用的特点和参数。在这儿首要着重几个当地,Build 的 ID 要仅有,不能够有重复。

图 1.新建一个 Build 界说
什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

在 properties 选项卡里界说了一切在 Build 时分要用到的参数,比方:Build 的途径,版别号等。在这次的示例中,咱们选用的是 Command Line 的办法做 Build,所以在 Command Line 选项卡里要界说 Command 特点,这个特点姓名要与 properties 里界说的参数姓名共同。参见图 2 和图 3

图 2.Build 界说-特点选项卡
什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

图 3.Build 界说-指令行选项卡
什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

在 Overview 选项卡中增加 Build Engine 的 Id。这儿增加了两个 Engine 的 Id。意思是在 Server 6 和 Server 9 上挑选一台相对闲暇的机器做 Build,这个 Build Server 的挑选由 JBE 来履行。

图 4.Build 界说-增加 Build Engine
什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

终究,在 Build 界说好之后,咱们就能够触发一个 Request Build 了,如图 5。JBE 的结构会在 Build Engine 上运转咱们界说好的脚本。比方,在 6 上运转了一个 test.pl 的脚本去构建 myBuild 这个产品。

图 5.Build 界说-增加 Build Engine
什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

当 Build 完毕后,咱们能够经过 Show Build Results 来检查 Build 的履行成果,如图 6 所示。

图 6.Build 成果
什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

把 Build 的成果上传到 Pre-Release Server 的进程是在 test.pl 脚本里完成的。所以,关于一个自动化的构建而言,界说一个通用的脚本用于不同的产品是至关重要的。至此,Jazz 渠道的 Build 的使命就完毕了。下一步就要在 Jenkins 里界说咱们要的 BVT 相关的 Job 了。

在 Jenkins 里,首要在 Jenkins->Plugin Manager 中承认下 URL Trigger 插件是否装置,如图 7 所示。假如没有装置需求手动装置。

图 7.URL Trigger 插件
什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

其次,要创立一个 Job 用来履行咱们的 BVT 并把经过测验的产品放到 Release Server 上。如图 8,展示了 Job 的配备页面。在 This build is parameterized 选项中增加要传递给脚本的参数。在这儿咱们界说了 slave,pre_release_server,build_server,bvt_server 等参数信息。

图 8.Jenkins Job 配备
什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

如图 9 所示,增加 Build Triggers 参数,把咱们在 JBE 界说好的 Pre-Release 途径填写在这儿,而且设置 Schedule 参数值。当 JBE 有新的 Build 生成的时分,就会触发 Jenkins 的这个 Job 去履行 BVT 的相关脚本。

图 9.URL Trigger 界说
什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

如图 10 所示,界说了 Job 触发时的履行脚本,这儿用的是 Shell 言语。履行 run-bvt.sh 脚本。在 run-bvt.sh 脚本里,界说了 Build 脚本的下载,产品的下载装置,布置 BVT 环境,履行测验用例,上传日志和测验成果到 Master 和 Slaver Server,并把经过测验的产品上传到 Release 上。

图 10.发动脚本界说
什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

由于这是一个 Python 的项目,所以在运转测验用例时选用的是 nosetests 东西,这个东西在履行完测验脚本后会生成一个契合 JUnit 格局的 XML 测验成果文件。终究,把这个 XML 上传到 Slave Server 后,此次的测验成果就能够在页面上展示出来。如图 11 所示,每个测验用例的测验成果和运转时刻。

图 11.测验成果
什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

图 12 展示了这个 Job 的测验成果趋势图。

图 12.测验趋势
什么是 Jazz 渠道,怎么进步 Jazz 构建项意图质量

到此,整个事例的介绍就完毕了,今后再有产品代码的改动时,JBE 会发动一个 Build 的事情,然后由 Jenkins 把测验的成果以页面的办法直观的展示出来。

总结

现在的项目开发现已趋向于团队化,更多的重视于项意图全体协作性,从开发到测验直至终究的项目构建,都会影响到一个产品的质量。项目构建作为终究一个环节,经过 Jenkins 增加了 BVT 的自动化测验使命,能够大大的进步整个产品的质量。一起也会削减许多或许会在用户环境上遇到的问题,然后进步用户的满意度。

为您引荐: 渠道 Jazz构建项目 Jazz
咱们感兴趣的内容
小同伴独爱的新闻
小同伴还重视了以下信息
小同伴重视的焦点

小同伴都在重视的抢手词

新服 缤纷活动 帆海世纪 芈月传 暗黑道具 萌乐网 苹果发布会 最新谍照 三国令 剑雨江湖 怎样修炼战骑 页游 怎样修炼同伴 木甲国际 仙侠道2 推黑科技 页游形式 武圣试炼场 街机玩法 蓝月传奇 个人BOSS玩法 哥们网 九阴绝学 仗剑出鞘 全新形式 范伟打天下 全新元神玩法 七大神兵简介 新手攻略 跑腿使命 门派五行 城战礼包 页游界 泥石流 傅园慧 经典网页游戏 耐玩 盘点 玉石攻略 进步人物 大黑 实装特点 神兵攻略 闻名莽荒 莽荒纪 手持神兵 土豪梦 万世 开学清单 财富赚不断 天书国际 大黑游戏 资源战场 ppwan 天问 激战 全国大战 雄霸一方 新增宠物技术 肯定小能手 花千骨 三尾章鱼 风色轨道 双枪手 弑之神 缤纷好礼 惊喜六重连 帮会 中秋福利 克己月饼 九阴真经 玩家 五周年留念 留念银币 名动三界 新服资料片 画江山 勇战妖魔 邪恶势力 上古降魔 老司机玩法 坐骑揭秘 黑科技 竞技场攻略 铁血皇城 披风玩法 书剑恩仇录 配备强化攻略 户外BOSS玩法 全网曝光 赤壁传说 半回合制国 ACT 奇珍商城 热血战歌 传奇瑰宝抽奖 打开办法 门徒 门徒获取玩法 三大萌宠简介