Jenkins操作手册

===================================================================
一、jenkins介绍
1、持续集成(CI) Continuous integration 持续集成 团队开发成员每天都有集成他们的工作,通过每个成员每天至少集成一次,也就意味着一天有可 能多次集成。在工作中我们引入持续集成,通过持续集成自动构建(代码的编译、发布、部署、 用例的更新和自动化执行),从而达到尽早发现代码集成的错误。
2、在没有持续集成时,开发的模式是:
第一步:项目一开始划分模块,将模块分配给对应的开发
第二步:开发对自己所负责的模块进行开发以及对应后期的单元测试
第三步:等所有模块开发完成后,由项目老大(开发负责人)对所有模块的代码进行集成
第四步:将集成好的代码部署到环境上,交由测试人员进行集成测试
第五步:测试过程中发现bug,测试人员提交bug并进行记录
第六步:对应的开发人员进行bug修复
第七步:等所有开发人员将bug修复好,再进行代码集成,交给测试进行回归测试 这样我们会陷入一个循环:修改bug­­­­集成代码­­­部署测试的循环中
缺陷: a.bug永远都是在最后才发现,不能及时发现。 b.这样的话测试效率低,使得交付效率质量差。
3、用Jenkins做持续集成的目的:及时发现bug,提高效率
4、持续集成的优点:
1、统一的代码库
2、自动部署和构建
3、自动测试
4、保证项目的交付质量
5、用什么实现持续集成? 使用Jenkins工具能帮我们实现持续集成
6、什么是Jenkins?
是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的
软件平台,使软件的持续集成变成可能。
7、Jenkins有哪些功能 1)持续的软件版本发布/测试项目。
2)监控外部调用执行的工作。 Jenkins拥有的特性包括:

1)易于安装­只要把jenkins.war部署到servlet容器,不需要数据库支持。
2)易于配置­所有配置都是通过其提供的web界面实现。
3)集成RSS/E­mail通过RSS发布构建结果或当构建完成时通过e­mail通知。
4)生成JUnit/TestNG测试报告。
5)分布式构建支持Jenkins能够让多台计算机一起构建/测试。
6)文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
7)插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。
Jenkins的主要目标是监控软件开发流程,快速显示问题。所以能保证开发人员以及相关人员省时省力提高开发效率。

8、Jenkins中的节点?
一个节点是一个代理服务器。建议使用字母、数字或字母和数字的组合。
最好见名知意。不建议 使用标点符号和中文(中文命名没有问题,但Job中无法引用)

==================================================================

二、Jenkins环境搭建
一、需要的应用软件如下:
JDK1.8 最好安装1.8的
Jenkins.war包

二、安装JDK (jdk­8u60­windows­x64.exe) 把JDK放入G盘,双击jdk­8u60­windows­x64,安装路径放入为G:\java(默认路径)
设置环境变量:在桌面进入计算机右键点击属性­高级系统配置­环境变量­点击新建(新建之前把 环境变量里面之前的JAVA_HOME,CLASSPATH全部删掉,假如没有的话就新建)

(1)新建­>变量名"JAVA_HOME",变量值:G:\java(具体看自己的java安装的路径)

(2)编辑­>变量名"Path",在原变量值的最后面加
上:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin (3)新建­>变量名"CLASSPATH",变量
值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(注 意冒号前面有个"."一定要加上)
2,验证变量设置的正确性,win+r,输入java,javac 出现如下图:JDK安装成功;

三、linux环境上搭建jenkins 第一步:把本地jenkins.war包存放到tomcat路径下apache­tomcat­7.0.56/webapps

第二步:启动tomcat,启动后jenkins.war包会自动解压,生成一个jenkins目录

第三步:浏览器地址栏中输入IP地址+8080端 口/jenkins(http://192.168.23.129:8080/jenkins),正常打开jenkins应用页面 如果页面报错要关闭防火墙:service iptables stop
页面显示如下:

这段话翻译过后大概的意思就是:
Jenkins管理员密码已经写入服务器/root/.jenkins/secrets/initialAdminPassword 文件中, 复制密码粘贴到下面的文本框中。
讲解下:/root 路径就是 cd ~

第四步:在linux环境中输入命令: cat /root/.jenkins/secrets/initialAdminPassword ,复 制密码 到文本框中,点击continue

以上是登录密码;

第五步:点击安装建议性插件

左边 建议安装 ,右边 自定义安装
接下来会安装所有建议性插件,这个安装时间有些长,请耐心等待

第六步:输入以后登录jenkins的用户名,密码­­>然后点击保存并完成

最后,当你看到这个页面,说明jenkins已经安装好了

如果界面显示英文可以翻译为中文:谷歌浏览器右上角点击如下图标志 选择翻译


第七步:Jenkins修改密码
方法(1):

1.点击页面右上角用户名

2.点击设置

3、输入修改密码

4.修改密码,点击应用,保存。

账号:admin
修改密码为:123456789

4.重启jenkins

在浏览器地址中输入:http://192.168.153.131:8080/jenkins/restart ­­地址以自己的IP地 址为准
(添加restart)jenkins重启

重启后,可以用新密码登录。

第八步:如果出现其他异常需要重新安装jenkins环境的步骤如下:(如果Jenkins启动正常请忽 略以下操作)
第一步:rm ­rf /root/.jenkins ­­清空所有数据
第二步:webapps中删除Jenkins目录 重启tomcat
第三步:一切按照上面的步骤操作

注意点:依赖包出错不用管

===================================================================

四、jenkins添加节点 第一步:首页点击系统管理——》管理节点——》新建节点
(注意点:(先设置全局安全配置))

第二步:输入节点名称,勾选固定代理

第三步:输入节点的具体信息,这里需要注意的是启动方法,启动方法没有java web请往下看

名字:唯一标识一个代理,通常使用代理主机名
描述:代理的cpu内核,内存使用情况描述。 执行者数量:控制并发构建数量 远程工作目录:一个代理有一个专门的jenkins目录
标签:对多节点分组,代理标签,工程标签相同,说明这个工程在这个代理上运行。 用法:默认选择尽可能使用这个节点
启动方法:默认选择通过java web启动代理 (全局安全中设置)

注意点:(先设置全局安全配置)
在选择启动方法中,如果没有java web 启动代理选项,那么就需要进行如下配置 第一步:点击系统管理,选择全局安全配置

第二步:勾选启用安全

第三步:代理中选额随机选取,代理协议都进行勾选

第四步:选择应用,保存­­>然后点击test_vm
jar包就是代码 类和工具函数
注意:( 将agent 放到d:jenkens下)

出现如下的信息:说明代理服务器没有连接jenkins

节点可以理解为一个代理,一台服务器。Jenkins是一个ci(持续集成)平台,每个代理 服务器要与jenkins进行集成,需要执行java ­jar ,后面是代理服务器Ip地址,通过这条 命令,执行成功说明代理已集成在ci平台

将代理连接jenkins方法: 从代理命令行运行
第一步:下载agent.jar文件 ,保存在本地G:\jenkins
第二步:在dos中G:\jenkins目录下执行命令
java ­jar agent.jar ­jnlpUrl http://192.168.23.129:8080/jenkins/computer/test_vm/slave­agent.jnlp ­secret 50027f0935559679aeb8ba30adca6e16fed937199e37a95c352984235a3400be ­ workDir “G:\jenkins”

注意:把以上的复制到dos下执行

这里需要注意的是:根据自己的jenkins页面内容copy,再执行

执行之后,看到Agent discovery successful 和connected 说明代理连接jenkins成功

成功jenkins首页显示,代理电脑右下方红色叉叉消失,并且显示代理服务器详细信息

以上表示节点已经配好;

==============================================================

构建项目:

五、Jenkins构建项目:
第一步:首页,点击开始创建一个新任务输入一个项目名称,选择构建一个自由风格的软件项 目,最后确定

举例:名称: auto_test1

第二步:输入项目具体配置

  1. 项目名称:自定义

  2. 限制可以运行该项目的位置:输入标签,标签为代理的标签(指定项目在哪个代理机上执行)

或者

3.构建:点击增加构建步骤 ,选择执行windows批处理命令

  1. 命令输入,例如执行单个用例
    Pybot ­­test 用例名称+套件路径
    pybot --test baidu C:\python37\Scripts\aa\hzdcs003\fz.robot


总共5种:
(1)执行所有项目中的用例:pybot 项目路径 (图1)
(2)执行单个套件中的所有用例:pybot 套件路径 (如图2)
(3)执行单个用例:pybot ­­ --test 用例名称 套件地址 (如图3)
(4)执行标签用例:pybot -­i 标签名称 套件地址(图4)
(5)执行python中文件: python 文件路径 (如图5)

图1

图2

图3

图4

(图5)

5.点击保存­­>然后点击立即构建­­>构建完成之后点击#2­­>点击控制台输出就可以看到相关的 日志了

复制报告地址在浏览器输入: D:\jenkins\workspace\hzdcs3\report.html

日志 :D:\jenkins\workspace\hzdcs3\log.html

输出:

6.如果出现下面的错误(没有没有出现就忽略):

那么就给项目添加一个工作空间,如果系统自动选择工作空间是master,那么就进行修改

也可以使用自己自定义的工作空间,就是工作空间与代理服务器工作空间不同的时候

可以自定义工作空间

如果出现如下报错:
hudson.AbortException: No files found in path G:\jenkins\output\auto_test with configured filemask: output.xml 就需要把工作空间和日志输出路径都改为G:\jenkins就可以了。

7.构建触发器(设置定时任务) Build periodically 在日程表中设置
触发器是用于控制自动化测试执行时间的 日程表里有5个数字为
五个星号(*****)
第一个星号:* 表示分钟 0-59
第二个星号:* 表示小时 0-23
第三星号: * 表示日1-31
第四星号:* 表示 1-21
第五个星号: * 表示周 0-7 0-7 周一到周日

==========
*表示所有
H表示随机,没有用到H随机的化,不要加括号

  • 表示连续
    / 表示间隔
    ,表示和

例如: 每2分钟执行一次 H/2 * * * * (注意:要空一格,H/1 一小时,H/2-15 15分钟 )

每天8点­16点,每1小时执行一次
H 8­16/1 * * *

D:\jenkinshz

例如:每个工作日从早上9:45到下午3:45结束工作,这段时间内每间隔2小时的45分钟那一刻
45 9-16/2 * * 1-5

例如:每前半小时中每隔10分钟。执行一次

H(0-29)/10 * * * *

例如:
*12 * * *

8.添加插件,以及插件的使用
robot framework plugin
Email extension template
Email ext recipients column
第一步:在首页,选择系统管理,管理插件,在过滤中输入插件名称

  1. robot framework plugin

  2. Email extension template

  3. Email ext recipients column plugin

安装后如下

如果出现插件无法下载的情况,可以进行如下设置:

9.Robot framework plugin作用:通过图表查看自动化测试结果 Robot framework plugin使用 第一步:选择一个工程,点击配置

第二步:在构建­­­构建后操作中点击 publish robot framework results

第三步:输入路径,此路径为批处理命令执行后生成xml,html后的路径(工作空间中的路径) G:\jenkins\workspace\auto_test

第四步:添加后的结果

第五步:robot framework plugin 插件作用,主要是能显示robot results,pass or Fail 以及 统计执行成功失败的比例 在安装frameworkplugin后不能选择到插件,就需要重启tomcat,或者重启jenkins 再不行就 安装一个zentimestamp.plugin

六、Jenkins设置邮件通知: 安装插件
Email Ext Recipients Column Plugin 电子邮件收件人列插件
Email Extension Plugin 电子邮件扩展插件
Email Extension Template Plugin 电子邮件扩展模板插件

第一步:在首页点击系统管理­­>点击系统设置­­>找到Jenkins Location

第二步:这里电子邮件通知,需要设置的参数如下

第三步:增加构建后操作步骤,选择e­mail notification

第四步:收件人:输入收件人邮箱,在构建失败后,会发送邮件通知

第五步:选择可编辑的电子邮件通知,可以替换邮件的主题和内容

第六步:点击高级设置

第七步: 点击右下角的高级设置选择添加触发器,选择总是

第八步:最后收到邮件,说明你的邮件通知设置成功!

第九步:设置Jenkins的时间和电脑同步

打开 【系统管理】­>【脚本命令行】运行下面的命令:
System.setProperty(‘org.apache.commons.jelly.tags.fmt.timeZone’, ‘Asia/Shanghai’)

七、Jenkins+svn实现拉取最新的代码或脚本跑定时任务:

1、打开配置、找到subversion、Local module directory里面有个点"."需要删除:

2、添加凭据:

3、把要被运行的脚本文件放入上传到svn:

4、然后再构建输入:Pybot ­­test test2 G:\jenkins\auto\论坛项目.txt
也可以设置定位任务上面过程有讲到

5、点击构建

6、点击构建后Jenkins会自动拉取SVN服务器的代码到Jenkins的工作空间然后通过执行 Windows批处理命令就可以执行从 SVN拉取下来的最新的代码,这样就可以实时跑服务器中最新的代码或者自动化测试用例。

========================================
app包

web包
1、手动下载包在部署环境,
2、自动构建以后的包,自动更新到环境

多测师肖sir_高级金牌讲师_jenkins持续集成测试(001)相关推荐

  1. 多测师肖sir_高级金牌讲师_app测试之环境安装(001)

    我们主要讲解app自动化环境的搭建以及定位和app测试 ================================================================ app 原生+ ...

  2. 多测师肖sir_高级金牌讲师_项目数据

    一.项目时间: (1)新项目:从无到有,从项目开始到上线的时间 (时间长) 一般3个月,6个月,一年,二年,三年 (2)迭代项目(时间短) 项目的版本的时间或周期 1个月,2个月,3个月 (3)敏捷开 ...

  3. 多测师肖sir_高级金牌讲师__python之常见if语句

    if判断语句: if单分支 格式: if 判断条件: 执行语句块1 else: 执行语句块2 if语句的判断条件可以用以下符号表示关系: 算术运算符:> ,<,==,>=,<= ...

  4. 多测师肖sir_高级金牌讲师_面试题

    1.冒烟测试是什么意思? 对主要功能,基本功能进行测试 2.你们公司的项目流程是什么? (1)H模型 H模型:拿到需求=编写测试计划=编写测试用例用例评审导入用例管理工具搭建环境开发提交代码包(达到准 ...

  5. 多测师肖sir_高级金牌讲师_linux命令一(2.4)

    linux中命令: (1)ifconfig :查看虚拟机ip地址 (2)ssh +ip地址 在输入账号,在输入密码 (3)pwd 查看当前路径 (4)/ 表示根目录 (5)~ root的家目录 (6) ...

  6. 多测师肖sir_高级金牌讲师_第2个月第18讲jenkins(001)

    Jenkins操作手册 =================================================================== 一.jenkins介绍 1.持续集成(C ...

  7. 多测师肖sir_高级金牌讲师_环境和环境面试题(13)

    (一) ================================================== (二)环境面试题: 1.请简述多有米环境的搭建.用到了哪些工具和流程介绍 2.查看当前端口 ...

  8. 多测师肖sir_高级金牌讲师_项目介绍之保险相关专业知识

    1.保险人:是指与投保人订立保险合同,并承担赔偿或者给付保险金责任的保险公司. 通俗讲就是卖给你保险的保险公司,就是某某保险公司. 2.  投保人:指与保险公司订立保险合同,并按照保险合同负有支付保险 ...

  9. 多测师肖sir_高级金牌讲师_测试理论之IT常见术语(1.2)

    IT常见基本术语 1.硬件: 计算机的硬件是计算机的各种设备的总称:硬件分为5个部分: (1)运算器 cpu (2)控制器 主板 (3)存储器 硬盘 (4)输入设备 :键盘 鼠标 (5)输出设备: 显 ...

最新文章

  1. ICML 2021杰出论文奖“临时更换”,上海交大校友田渊栋陆昱成等获提名
  2. 都有Python了,还要什么编译器
  3. FPGA之道(36)Verilog中的编译指令
  4. FileUpload 控件 禁止手动输入
  5. python123循环结构_来学Python啦,大话循环结构~
  6. 在Windows平台下使用Gitblit搭建Git服务器图文解说
  7. 双11大考 POLARDB分钟级弹性让企业轻松扩展 1
  8. 面试题,产品经理岗位的哪些特点最吸引你?
  9. Vue.js生命周期
  10. 设计模式之“单例模式”
  11. stanford sentiment treebank 数据集
  12. Codeforces 385 C Bear and Prime Numbers
  13. while 常见程序逻辑
  14. 一篇不大正经的关于数论的总结(未完
  15. UISwitch——开关控件
  16. 虚拟服务器怎么安装网站,虚拟主机如何安装网站个人博客(WordPress)
  17. 门诊管理系统开发能提高医生的诊疗水平和质量吗
  18. Devexpress WPF教程
  19. 计算100以内奇数和偶数的数量
  20. python文本处理

热门文章

  1. 【工作经验分享】,大厂面试经验分享
  2. 面试宝典之高分回答面试题(二)
  3. 黑客也看《人民的名义》:把手机卡扔马桶有 bug
  4. FL Studio20.9中文补丁
  5. 激光打印机如何维修?
  6. 华为Fellow艾伟首谈麒麟980诞生:7nm工艺投入远超3亿美元
  7. 小程序.silk转MP3格式
  8. 渗压计工作原理及选型
  9. 高防cdn是什么,高防cdn跟加速cdn有什么区别
  10. zlibirary如何登录自己的账号?看看这篇文章就可以了,zlibirary登录自己的账号,书籍直接邮寄到邮箱