基于Jenkins的WPSforiOS的自动构建服务器的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Science and Technology &Innovation ┃科技与创新
2017年第18期
·117·
文章编号:2095-6835(2017)18-0117-02
基于Jenkins 的WPS for iOS 的自动构建服务器的设计
穆荣,刘欣,王晓路
(西安科技大学信息网络中心,陕西西安710054)
摘要:通过了解持续集成的研究现状,分析了构建WPS 所存在的问题,设计了基于Jenkins 服务器自动构建iOS 测试包的系统,驱动Xcode 自动更改项目配置文件参数,实现了定时构建、一键构建、定制化构建和邮件通知等功能,消除了人工配置Xcode 进行构建的烦琐性,缩短了构建时间,减轻了工作的压力。

该服务器能够让多步操作变成一键操作,还可以定时自动构建,最后群发实时邮件通知构建结果,使工作效率得到了提升。

关键词:持续集成;Jenkins ;Xcode ;自动构建中图分类号:TP311.52
文献标识码:A
DOI :10.15913/ki.kjycx.2017.18.117
众所周知,软件产品开发的时机和速度决定了产品的受欢迎程度,更有甚者,刚刚研发的产品一上市就有可能被淘汰。

因此,这使得开发软件产品的复杂程度提升不少。

为了缩减开发时间,除了在技术上要不断提升,且需要进一步充实开发团队。

软件研发必然要面临如何在保证整个团队协同、高效工作的同时,确保软件产品的质量的问题。

持续集成就是在这样的大环境下不断发展起来的,且持续集成可以很好地解决上述问题。

持续集成主要就是要求研发团队实时集成开发人员的代码及需求,需要大量进行构建工作。

传统的构建打包方式非常烦琐,每次打包都需要针对不同的版本修改一些内容,加之系统认证需要的签名和证书,因此,为了节省人力和物力,每次集成研发人员在工作之后需要通过自动化构建来完成打包工作,这个过程主要解决人工构建的烦琐性,节省因构建浪费的时间,简化开发以及测试所需求的多种定制化构建。

用Jenkins 服务器作为平台构建测试包,能够让多步操
作变成一键操作,还可以定时自动构建,群发实时邮件通知,提高工作效率。

自动构建服务器中的每一个环节都是根据配置的信息和脚本代码自动运行的,通过使用该服务器可以达到缩短构建时间以及降低测试人员工作量的目的。

1构建WPS 所存在问题
基于Jenkins 平台所构建的WPS for iOS 测试包,可以用来解决存在的主要问题有:①WPS 项目版本多,有中文版、国际版、企业版和日文版等众多版本。

每个版本内部都涉及大量的不同参数变更,已经无法借助Xcode 来维护,必须借助脚本来修改这些参数,防止人为修改出现众多纰漏;②WPS 项目配置文件多,整个WPS 项目共包含几百个配置文件,每个配置文件都需要修改签名、证书和Version 等信息,这么大的工作量也是WPS 项目面临的一个问题;③WPS 项目打包批次多,不同的测试工作需要不同的测试包,且日常工作中还有很多分支项目,需要构建每个项目分支的测试包,所以,频繁地构建多版本的WPS 测试包也是该项目面
回收方法都存在不同程度的缺陷,难以胜任大规模溢油的回收。

鉴于此,可以采用“线面式”溢油回收技术,加强对围油栏的应用,将以往只是用来围控和导流溢油的围油栏进行功能扩展,利用江水流动的特点,变“船动”为“水动”,通过对围油栏的操作形成一个“漏斗状”的围控,使溢油回收船可以一直在适宜的油膜厚度下高效工作,同时提高溢油回收设备的使用效率,有效提高溢油回收效率。

4总结
通过上述分析可知,显然用曲线形实用堰代替薄壁堰和“线面式”溢油回收技术的改进运用,不仅可以提高堰的过流量,改善回收能力,还可以为提高溢油机械回收技术的回收
效率创造有利条件,使溢油回收技术在海上溢油污染治理中拥有更广阔的应用前景。

对溢油回收系统的分析研究,能够为今后海洋及江河油污染治理提供参考。

参考文献:
[1]柳婷婷,田珊珊.海洋溢油事故处理及未来发展趋势[J ].
中国水运(理论版),2006(11).
[2]卓诚裕.海洋油污染技术[M ].北京:国防工业出版社,
1996.
[3]杨建立.对船舶污染事故应急系统有关问题的看法[G ]
//2004年度海事管理学术交流会优秀论文集,2004.
〔编辑:刘晓芳〕
. All Rights Reserved.
科技与创新┃Science and Technology &Innovation
2017年第18期
·118·
临的问题之一。

综上所述,传统的手工构建已经远远不能满足WPS 项目的需求,需要自动构建测试包来解决以上问题。

2系统设计
通过Jenkins 可以将手动Xcode 构建的操作转化为自动构建,并用脚本代码来实现修改配置文件,以此来构建不同需求的ipa 包,核心的设计如下:①从SVN 代码库中下载产品代码,通过Jenkins 服务器来配置WPS 项目SVN 源代码库的地址,最后输入账户和密码即可成功下载代码。

②根据需求通过脚本修改代码中对应的配置文件,这个过程是系统的核心,也是技术要求最高的部分,需要通过代码详细配置几百份项目文件,成功驱动Xcode 自动构建。

③构建app 测试包,通过Xcode 完成项目文件配置,然后Xcode build 负责将工程源文件编译成.app 的测试包;④将APP 包压缩为ipa 包后从本地移到测试服务器上,使用Xcode build 工具将代码编译后,将.app 格式转换为.ipa 格式的测试包。

此时,可以通过Xcode 自带的命令Xcrun 语句就可以将app 包压缩为ipa 测试包,即Xcrun -sdk iphoneos Packageapplication -v $appfolder/Build/Products/${BUILD_CONFIG}-iphoneos/$BUILD_ScHEME.app -o $WORKSPAcE/build/$BUILD_ScHEME $SVN_REVISION$BUILD_MARK.ipa 。

上述-v 后面是app 文件及所在路径,-o 后面则是存放的ipa 文件名及预存放的位置。

⑤发送邮件至全体工作人员,借助安装的邮
件插件,通过配置接收和发送人员邮箱地址信息以及STMP 服务器,编写固定的邮件格式的代码发送至全体工作人员。

3服务器功能
基于Jenkins 的WPS for iOS 的自动构建服务器,以Jenkins 服务器为平台,主要通过调用Shell 脚本和OC 程序驱动Xcode 自动修改项目配置文件的众多信息,最后自动构建服务器。

该服务器提供的主要功能包括WPS for iOS 多种测试安装包的定制化构建、一键构建、定时构建以及邮件通知,具体内容如下。

3.1定制化构建
定制化构建就是根据具体的测试需求打出相应的测试包。

WPS 项目大致包含中文版测试包、英文版测试包、中文高版本测试包以及带有Today 特性的测试包等。

每一种测试包都有自己的特点,所以,打不同版本的测试包就需要构
建不同的工程,通过修改各自对应的配置参数以及脚本代码,来实现定制化构建。

3.2一键构建
一键构建主要是指构建时只需要点击已建工程后的执行构建按钮,就可以自动构建,整个过程通过工程中的配置参数和脚本自动执行,无需手动操作。

执行一键构建之后,在服务器主页面会显示相应的工程执行情况,工程执行完之
后,会有明显的图标显示是否执行成功。

除此之外,带有显示天气状况的图标表示构建的稳定程度,分数越高则构建越稳定。

稳定程度从高到低依次为晴天(80+)、多云(60~79)、阴天(40~59)、阴雨(20~39)和闪电(0~19),分数低于80表示构建不稳定。

3.3定时构建
定时构建是指按照预先设定的时间自动进行构建,这个功能实现起来较为方便,只需要在构建触发器模块选择Poll SCM 选项,并在其中输入定时的命令即可。

这个功能的优点是可以利用晚上和周末空闲时间进行构建工作,这样不仅提高了工作人员上班时的工作效率,还可以设定任意时间构建,防止测试人员因工作忙而忘记构建工作。

定时构建只需要在相应的插件中写入具体执行构建时间的语句,就可以做到定时构建。

3.4邮件通知
邮件是目前非常重要的沟通交流工具之一,所有与工作相关的信息都可以通过邮件的形式通知对方。

在安装了邮件插件之后,我们可以通过配置接收和发送邮件人员的邮箱地址等信息,在构建完成后自动将邮件发送到个人邮箱中,使人们的工作联系更加紧密。

4结束语
WPS 是一款非常成熟的软件,目前很多国家的人都在使用这款办公软件,因此WPS 推出了众多版本。

使用Jenkins 服务器部署自动构建,解决了人工配置Xcode 进行构建的复杂性问题,缩短了构建时间,减轻了工作的压力。

该服务器能够让多步操作变成一键操作,还可以定时自动构建,群发实时邮件通知构建结果,使工作效率得到很大的提升。

参考文献:
[1]段清蛇,李筠.基于Jenkins 的持续集成测试环境插件开
发[J ].信息技术,2013(10).
[2]林新党,穆加艳.基于Jenkins 的持续集成系统研究[J ].
雷达与对抗,2014(01).
[3]朱红,仇润鹤.基于Jenkins 的移动通信业务自动化测试
平台的设计与测试[J ].科技与创新,2016(07).[4]赵杰昌,张良宇.基于Jenkins 构建持续集成系统[J ].
电脑编程技巧与维护,2014(09).
[5]周莹,欧中红,李俊.基于Jenkins 的持续集成自动部署
研究[J ].计算机与数字工程,2016(02).————————
作者简介:穆荣(1979—),女,陕西人,工程师,硕士研究生,主要从事网络建设、网络管理、服务器管理、教育信息化项目建设等工作。

〔编辑:张思楠〕
. All Rights Reserved.。

相关文档
最新文档