Jenkins系列之自动化部署(1)

发表于:2020-1-22 11:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:合肥人真帅    来源:51Testing软件测试网原创

  在上一篇《如何检验自身的技术水平?参加一场比赛就知道了》文章中,我谈了关于selenium和jmeter的一些总结。这都最近比较主流的框架和工具,一个可以实现UI自动化测试,一个可以实现API和性能测试,其实还有一种工具可以更大限度的让selenium和jmeter在工作生产中发挥自身价值,那就是持续集成。
  一、自动化部署的优点
  持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。这是百度百科给出的名词解释。如果大家不太理解,我可以给大家举个例子。
  比如说,一个产品,定义了很多条需求。如果等到所有需求开发完成,再进行测试,需要耗费大量的时间。如果测试与开发可以并行,就会缩短项目周期。思想如下:
  一条业务线运行,先开发,后测试,假设需要10天;那么测试开发并行可能7、8天就能结束工作;但是我们发现每一次测试前,都需要部署。重复的部署工作,还是耗费了一些时间的,如果可以让电脑自动完成部署工作,是不是6、7天就能完成工作?这个就要具体去分析部署的工作流程了。
  这是一个比较简单的部署流程,除了源码下载,其余各阶段,自动化执行都比手工敲打命令速度要快。所以部署的节省时间可以用下面这个公式去计算
  节省时间=(单次手工部署耗时*部署次数)-(手工编写脚本耗时+单次自动部署耗时*部署次数)
  假设每次手工部署需要20分钟,自动化部署需要8分钟,部署10次,编写脚本20分钟
  那么节省时间=(20*10)-(20+8*10)=100分钟
  若系统需要分布式部署,节省时间就是成倍增长的。只要节省时间较大,自动化部署方案就可以执行。这便是自动化部署的第一个有点,节省时间。
  自动化部署的第二个优点是部署流程严格按照规范执行。其实很多公司在设计、开发、测试、运维等工作领域都制定了一套适合自己公司的流程规范以及制度。但实际上,这些流程和规范随着时间的推移,逐渐被淡化,甚至有些公司在立项时,整个项目就已陷入混乱而不自知。但是机器则不同,每次都会按照你所制定的方案严格执行。
  举个例子,上述部署流程的第二步是备份老系统。很多公司没有专业的运维人员,都是开发或测试兼职,在部署上,安全意识淡薄,可能前几次部署,还会去备份,然后就会觉得麻烦,渐渐抛弃这个步骤,等到部署出现问题,需要回滚时,才发现没有备份。所以最近几年,不乏有一些大厂出现删库跑路的新闻,若真的备份了,即便删了库,还原就行了,又何必跑路呢?但是自动化部署就不同,只要你在里面编写备份的脚本,部署成功后,就一定可以找到备份文件。
  自动化部署的第三个优点是输入命令的准确率100%。这个也很好理解,人总有疲惫、心烦等各种情绪和状态,即便是满血状态,也可能会在输入命令的时候,打错个别单词,若是在上述部署流程中的"修改配置文件"环节打错字,系统不会报错,待服务启动后,发现各种问题,才回去检查之前的步骤,此时已经耽误相当多的时间了。对自动化部署而言,这条优点就完美体现出来了。
  当然优点不止这3条,缺点也是有的,我就不一一列举了。持续集成的工具有很多,如TeamCity、Jenkins、Buildbot等。目前Jenkins的使用人数占比相对较高,下面我就从安装到工程的构建介绍一下Jenkins的使用。
  二、Jenkins安装
  Jenkins的官网https://jenkins.io/zh/  可以下载到jenkins的安装包,不同的平台,选择不同的入口
  例如WindowsLinux的各个版本等。Windows直接下载压缩包,解压后运行msi,一直点击下一步,即可完成安装。
  Linux的安装,可以下载到本地安装,也可以在线安装,不同的Linux安装命令也不同,例如Ubuntu的命令是apt,CentOS的命令是yum。
  安装完成后,打开浏览器,输入localhost:8080
  第一次安装,需要解锁,解锁密码就在红色路径的文件里。解锁后,根据提示安装插件,创建管理员账号。安装就算完成了。如果在安装后发现8080端口被占用,导致jenkins无法运行,应该先停止jenkins服务,然后找到配置文件修改端口号。Windows的配置文件,就在jenkins安装路径jenkins.xml文件中修改。而Linux则是在/etc/sysconfig/jenkins文件中修改,不同版本的linux或许配置文件位置不同,但都在/etc下,仔细找找是可以找到的,也可以用whereis来查找。
  三、添加插件、进行各项配置
  Jenkins插件有很多,由于各个公司对源码管理,项目管理等使用的工具都各不相同,这里就不一一介绍了。这里介绍1个大家都用的上的插件,Email Extension Plugin,这个插件可以将每一次的构建结果以邮件的方式发送到指定邮箱。(还有1个HTML Publisher插件,我会在下一篇给大家讲解,如果感兴趣,可以自己摸索一下)
  点击系统管理→插件管理→可选插件,进行搜索,选中后点击安装。安装成功后,刷新页面,就可以在已安装页面中找到。


 ......
查看更多精彩内容,请点击下载:

版权声明:本文出自《51测试天地》第五十六期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号