多测师肖sir_高级金牌讲师_jenkins搭建

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

1)持续的软件版本发布/测试项目。

2)监控外部调用执行的工作。

8、 Jenkins拥有的特性包括:

1)易于安装­只要把jenkins.war部署到servlet容器,不需要数据库支持。

2)易于配置­所有配置都是通过其提供的web界面实现。

3)集成RSS/E­mail通过RSS发布构建结果或当构建完成时通过e­mail通知。

4)生成JUnit/TestNG测试报告。

5)分布式构建支持Jenkins能够让多台计算机一起构建/测试。

6)文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。

7)插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。

8)Jenkins的主要目标是监控软件开发流程,快速显示问题。所以能保证开发人员以及相关人员省时省力提高开发效率。

9、Jenkins中的节点?

一个节点是一个代理服务器。建议使用字母、数字或字母和数字的组合。

最好见名知意。不建议 使用标点符号和中文(中文命名没有问题,但Job中无法引用)

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

二、Jenkins环境搭建

一、需要的应用软件如下:

JDK1.8 最好安装1.8的:

查看jdk是否安装好

以上是安装成功:

如果没有安装就要上传jdk

安装jdk

三、linux环境上搭建jenkins

1、服务器tomcat

2、解压服务器

命令:

tar -zxvf apache-tomcat-7.0.56.tar.gz

查看tomcat是否可以运行:

在bin目录下启动

出现tomcat猫界面:表示ok

http://192.168.157.134:8080/

删除tomcat的包,把本地jenkins.war包存放到tomcat路径下apache­tomcat­7.0.56/webapps


解压war包(解压前停止服务),要通过启动服务器,在启动服务

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

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

页面显示如下:

这段话翻译过后大概的意思就是:

Jenkins管理员密码已经写入服务器/root/.jenkins/secrets/initialAdminPassword 文件中, 复制密码粘贴到下面的文本框中。

讲解下:/root 路径就是 cd ~

cat /root/.jenkins/secrets/initialAdminPassword

密码: 41ec6d8ca3d04ec9a6b8c9d1b4b1d580

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

复制:密码:41ec6d8ca3d04ec9a6b8c9d1b4b1d580

密码:06429cea95184f06815afe908114aaed

以上是登录密码;

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

左边 建议安装 ,右边 自定义安装

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

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

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


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

第七步:Jenkins修改密码

方法(1):

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

2.点击设置

3、输入修改密码

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

账号:admin

修改密码为:123456

4.重启jenkins

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

(添加restart)jenkins重启

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

账号:admin

修改密码为:123456

第八步:如果出现其他异常需要重新安装jenkins环境的步骤如下:(如果Jenkins启动正常请忽 略以下操作)

第一步:rm ­rf /root/.jenkins ­­清空所有数据

第二步:webapps中删除Jenkins目录 重启tomcat

第三步:一切按照上面的步骤操作

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

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

四、jenkins添加节点 第一步:首页点击系统管理------》管理节点------》新建节点

(注意点:(先设置全局安全配置))

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

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

配置好后的节点如下

在配置中安全设置中:选择代理,随机选取,在保存

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

节点可以理解为一个代理,一台服务器。Jenkins是一个ci(持续集成)平台,每个代理 服务器

要与jenkins进行集成,需要执行java ­jar ,后面是代理服务器Ip地址,通过这条 命令,执行成功说明代理已集成在ci平台

将代理连接jenkins方法: 从代理命令行运行

第一步:下载agent.jar文件 ,保存在本地:D:\cd\jek\agent.jar

第二步:在dos中D:\cd\jek\目录下执行命令

注意:把节点中的路径的复制到dos下执行

路径:java -jar agent.jar -jnlpUrl http://192.168.157.134:8080/jenkins/computer/dcs35/jenkins-agent.jnlp -secret 0c0d947aaaac81aacb6af01cb6bd312b2bc15bf74caf04efbe48c8358de140f4 -workDir "D:\cd\jek"

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

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

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

以上表示节点已经配好;

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

构建项目:

五、Jenkins构建项目:

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

hzdcs_test

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

项目名称:自定义

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

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

python+绝对路径, 在保存

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


6.构建触发器(设置定时任务) Build periodically 在日程表中设置

触发器是用于控制自动化测试执行时间的 日程表里有5个数字,分别为:

格式:H/* ****

H * * * *

第一个* 表示: 分钟:0­---59

第二个** 表示: 小时:0­--23

第三个* 表示 日:1­---31

第四个* 表示 月:1­---12

第五个* 表示 周:0--­7 0和7都代表星期天

H 表示随机

  • 表示所有
    -表示连续
    / 表示间隔
    , 表示和
    M-N 指定一个范围值

例如:

案例1:

2、每隔2小时构建一次

H H/2 * * *

3.每天晚上8点定时构建

H 20 * * *

  1. 每三天执行一次

H H H/3 * *

  1. 每三天执行一次(每个月1-10日)

H H (1-10)/3 * *

6.每周内 2,4,6 要执行一次

H H * * 2,4,6

7.每小时 在前半个小时的每5分钟运行一次

H(0-30)/5 * * * *

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

8.添加插件,以及插件的使用

robot framework plugin

Email extension template

Email ext recipients column

第一步:在首页,选择系统管理,管理插件,在过滤中输入插件名称

robot framework plugin

Email extension template

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拉取下来的最新的代码,这样就可以实时跑服务器中最新的代码或者自动化测试用例。

相关推荐
Fcy6481 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满1 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠2 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey9032 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技3 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀3 小时前
Linux环境变量
linux·运维·服务器
zzzsde3 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
聆风吟º5 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~5 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化
神梦流5 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器