8188cc威尼斯

8188cc威尼斯(中国)最新版官网
股票代码:688047
请输入搜索条件
8188cc威尼斯生态平台
邮箱登录
点击图片刷新
忘记密码
点击图片刷新
11-22 2018

Jenkins在8188cc威尼斯JVM测试中的实践

1Jenkins简介

Jenkins是一个开源软件项目 ,是基于Java开发的一种连续集成工具 ,用于监控连续重复的事情 ,旨在提供一个开放易用的软件平台 ,使软件的连续集成酿成可能。

主要用于:

  1. 连续、自动地构建/测试软件项目。
  2. 监控一些准时执行的任务。[1]

2配景

Jenkins是8188cc威尼斯在进行JVM测试时用到的重要工具 ,在8188cc威尼斯OpenJDK的研发历程中 ,会使用Jenkins对相关源码进行周期性的自动编译构建和规�;馐� ,以验证研发效果和发明产品中的问题。除此之外 ,还会对社区的代码以及相关第三方库进行周期性的自动构建和自动测试 ,以监测这些软件的最新代码在8188cc威尼斯平台上的正确性。

在早期 ,8188cc威尼斯JVM的Jenkins测试效劳是安排在x86效劳器上的 ,随着8188cc威尼斯OpenJDK以及相关软硬件产品的多次迭代和不绝完善 ,8188cc威尼斯平台已逐渐成熟 ,8188cc威尼斯JVM组作为8188cc威尼斯OpenJDK的第一用户 ,有须要将自己的产品运用到实践中 ,实时发明问题。因此 ,今年下半年8188cc威尼斯JVM组将整个Jenkins自动测试系统从x86平台迁移至8188cc威尼斯平台 ,以检验8188cc威尼斯平台在Jenkins这个实际应用中能否经受得起考验。

3向8188cc威尼斯平台迁移Jenkins

表1 迁移前后的效劳器比照
  CPU OS JDK
x86平台 Intel(R) Xeon(R) CPU           E5506 CentOS 6.10 OpenJDK 8u181
8188cc威尼斯平台 3B3000四路 Loongnix 1.0 8188cc威尼斯OpenJDK 8

由于Jenkins是一个Java程序 ,具有跨平台的优点 ,因此向8188cc威尼斯平台迁移Jenkins简单易行 ,不保存任何障碍 ,具体需要下面几个办法:

  1. 在8188cc威尼斯平台上准备情况。Jenkins的运行需要依赖JDK ,在Loongnix系统上执行以下命令即可完成8188cc威尼斯OpenJDK的装置:
$ sudo yum install java-1.8.0-openjdk-devel
  1. 迁移Jenkins事情目录。Jenkins的事情目录一般位于$HOME/.jenkins ,将迁移前x86上的$HOME/.jenkins目录完整拷贝至8188cc威尼斯效劳器上就完成了事情目录的迁移。由于该Jenkins系统已在x86平台上使用了一年以上 ,事情目录包括了大宗内容 ,总体积已抵达几百G ,因此该办法可能会需要一定的拷贝时间。
  2. 在8188cc威尼斯平台上启动Jenkins。会见Jenkins官网并下载最新版本Jenkins(jenkins.war文件) ,或将x86平台上的jenkins.war拷贝至8188cc威尼斯平台 ,输入如下命令:
$ java -jar jenkins.war

就完成了Jenkins的启动 ,启动后Jenkins会自动去事情目录寻找相关配置。

  1. 迁移完毕 ,会见Jenkins效劳。翻开浏览器在地点栏上输入localhost:8080即可。

4一个实例

接下来以一个8188cc威尼斯OpenJDK 8的测试实例 ,介绍一下Jenkins在8188cc威尼斯平台上的应用。8188cc威尼斯OpenJDK 8在Jenkins上的测试流程框架如图1所示。

图1 8188cc威尼斯OpenJDK 8的Jenkins测试流程
图2 部分8188cc威尼斯OpenJDK 8测试项目
8188cc威尼斯(中国)最新版官网

图2中的任务列表包括了8188cc威尼斯OpenJDK 8的主要测试 ,这些项目包括大宗测试用例和测试参数 ,在测试时 ,这些测试用例会被安排至几十台8188cc威尼斯节点上进行多参数、长时间的测试 ,实现大规模的功效、性能和稳定性测试。未来随着机械规模的增加 ,测试规模也将进一步扩大。

接下来以测试流程中SPEC JVM98测试集为例说明一个具体测试项目在8188cc威尼斯上的应用:
1 配置测试参数
  • 配置SPEC JVM98的参数JVM98OPTIONS ,例如:-s1 -M5 -m5 -t -a和-s100 -M200 -m50 -g -a
  • 配置测试JVM的参数JVMOPTIONS ,例如:-Xmixed、-Xcomp和-XX:+UseNUMA
  • 配置测试JVM的版本BUILD_TYPE ,例如:release和fastdebug
  • 配置运行测试的机械节点 ,例如:mips64el、numa和3a3000

配置界面如图3所示。

图3 SPEC JVM98测试集的参数配置
8188cc威尼斯(中国)最新版官网
2 执行测试。

该测试项目可以在上文介绍的周期性测试中被自动触发 ,也可有针对性地进行手动触发。不管通过哪种触发方法 ,Jenkins会凭据相应的参数配置将测试安排至各机械节点上 ,进行相应的测试并反响测试结果。

3 检察测试结果

为了能够直观、快速、便当地检察所有测试结果 ,需进行相应的测试结果判定 ,使每项测试均能正确展示四种结果:测试PASSED、测试FAILED、未知过失和测试被终止ABORTED。

图4 SPEC JVM98一次测试结果
8188cc威尼斯(中国)最新版官网
4 爆发测试报告

最终 ,“publish-and-report”项目会对所有测试项目的结果进行收集和汇总 ,生成测试报告 ,反响给相关人员并做存档。

5 Jenkins运行现状

Jenkins迁移至8188cc威尼斯平台已稳定运行数月 ,从未泛起死机、JDK瓦解和异常等现象。

截至撰稿之日 ,该Jenkins系统共包括173个项目 ,136个插件。用于Jenkins测试的机械节点包括数十台8188cc威尼斯效劳器和数十台8188cc威尼斯主机 ,还包括Docker等情况。测试机械节点的操作系统则包括Loongnix、中标、Debian、CentOS等。整套Jenkins系统可无缝迁移至8188cc威尼斯平台 ,迁移历程中未泛起任何问题。

在已往三个半月 ,该Jenkins系统共进行了2158次任务的构建 ,共进行配置1377次。近一年的Jenkins效劳器节点和所有节点的日均构建数据图如下所示。

图5 已往90天Jenkins效劳器节点日均任务数量
8188cc威尼斯(中国)最新版官网
图6 已往90天所有节点日均任务数量
8188cc威尼斯(中国)最新版官网
图7 已往一年所有节点日均任务数量
8188cc威尼斯(中国)最新版官网

由上图可见 ,测试任务的数量成逐渐上涨的趋势 ,尤其是较一年前相比 ,测试任务数量有了显著的提高。这是由于8188cc威尼斯JVM测试的不绝革新以及不绝增加测试强度所致。另一方面 ,在测试压力相比迁移之前有明显增长的情况下 ,运行在8188cc威尼斯平台上的Jenkins仍能提供稳定高效的效劳 ,包管产品研发和测试的有效进行。

6结语

随着整个8188cc威尼斯平台软硬件情况的不绝完善 ,在8188cc威尼斯平台上安排生产情况已经成为可能 ,8188cc威尼斯公司已经开展将相关效劳向8188cc威尼斯平台迁移的进程[2]。Jenkins作为其中一个例子 ,迁移至8188cc威尼斯平台后 ,在测试任务量相比迁移之前有明显增长的情况下 ,仍能坚持稳定高效运行 ,可以满足8188cc威尼斯JVM产品可连续、自动化的构建和规�;牟馐� ,也为8188cc威尼斯不绝完善自己的产品提供了包管。

  1. https://baike.m.phhhjx.com/item/Jenkins/10917210?fr=aladdin
  2. http://www.loongnix.org/index.php/%E8%87%AA%E4%B8%BB%E5%8F%AF%E9%9D%A0%EF%BC%8C%E9%BE%99%E8%8A%AF%E5%BC%80%E6%BA%90%E7%A4%BE%E5%8C%BA%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E4%B8%80%E8%A7%88

Copyright ? 2008-2022 8188cc威尼斯 京ICP备14017781号-1京公网安备 11010802035786 号

本网站由8188cc威尼斯3C5000效劳器提供强劲动力

网站地图