多测师肖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 * * *
4. 每三天执行一次
H H H/3 * *
5. 每三天执行一次(每个月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拉取下来的最新的代码,这样就可以实时跑服务器中最新的代码或者自动化测试用例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/182873.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

0基础2小时搭建自己的网站

​作者主页 📚lovewold少个r博客主页 ⚠️本文重点:0基础2小时搭建个人网站 👉【C-C入门系列专栏】:博客文章专栏传送门 😄每日一言:宁静是一片强大而治愈的神奇海洋! 目录 前言 第一步 环境…

Vue-SplitPane可拖拽分隔面板(随意拖动div)

npm install vue-splitpane一、使用 (1)局部使用: 在vue文件中 import splitPane from vue-splitpane export default {componnets: { splitPane } }(2)全局使用: 在main.js文件注册 import splitPane…

perl列表创建、追加、删除

简介 perl 列表追加元素 主要是通过push和unshift函数来实现。其中,push是追加到列表尾,unshift是追加到列表头。 perl列表删除元素 主要是通过pop和shift函数来实现。其中,pop是从列表尾删除一个元素, shift是从列表头删除一…

【教3妹学编程-算法题】最大单词长度乘积

3妹:哇,今天好冷啊, 不想上班。 2哥:今天气温比昨天低8度,3妹要空厚一点啊。 3妹 : 嗯, 赶紧把我的羽绒服找出来穿上! 2哥:哈哈,那倒还不至于, 不过气温骤降&…

2000-2022年“宽带Z国“试点城市名单匹配数据

2000-2022年“宽带Z国“试点城市名单匹配数据 1、时间:2000-2022年 2、指标:行政区划代码、年份、地区、所属省份、所属地域、试点城市、最早试点年份、DID 3、来源:来自工信部和国家发改委在2014年、2015年和2016年分别遴选的“宽带中国”…

11月起,33个省份纳入数电票开票试点范围内,发票无纸化已是大势所趋!

10月底,北京、贵州、山东(不含青岛市)、湖南、宁夏5个地区相继发布开展数电票试点工作的通知,至此,全国已有33个省份纳入数电票开票试点范围内。根据上述5地区发布的相关公告,11月1日将正式推行“数电票”开…

python之pyQt5实例:几何绘图界面

使用PyQt5设计一个界面,其中点击不同的按钮可以在画布上画出点、直线、圆和样条曲线 from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton,QHBoxLayout,QVBoxLayout,QWidget,QLabel from PyQt5.QtGui import QPainter, QPen, QColor from PyQt5.Q…

PyQt5中QLineEdit、QRadioButton、QComboBox这些小部件的change事件

最近在用PyQt5做项目,总结一下QLineEdit、QRadioButton、QComboBox这些部件用到的change事件绑定,即信号与插槽。 QLineEdit QLineEdit 对象是最常用的输入字段。 它提供了一个框,可以在其中输入一行文本。 要输入多行文本,需要…

链式前向星模板

建稠密图可以用邻接矩阵,但稀疏图再用邻接矩阵就很浪费空间了,有可能会爆空间复杂度。 可以用邻接表来实现邻接表建图,两种方法:1.链表 2.链式前向行 只讲第二种,比较常用简洁 链式前向星模板 #define IOS ios::syn…

基于单片机的胎压监测系统的设计

收藏和点赞,您的关注是我创作的动力 文章目录 概要 一、系统整体设计方案二、 系统设计4.1 主流程图 三 系统仿真5.1 系统仿真调试实物 四、 结论 概要 本文以STC89C52单片机为控制核心,通过气压传感器模块对汽车各轮胎的胎压进行实时数据的采集与处理&…

创建百科词条 烘托人物形象 提升形象力

百度百科作为中国最大的在线百科全书,小马识途营销顾问认为其具有巨大的商业价值。 首先,百度百科作为百度搜索引擎的一部分,吸引了数以亿计的用户访问,这为百度提供了大量的广告展示和点击收入的机会。 其次,百度百科…

20231106-前端学习加载和视频球特效

加载效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>加载效果</title><!-- 最新…

freertos多任务

以前我们都是一个任务&#xff0c;假设现在我们创建三个任务,项目工程在上一节网盘 #include "stm32f10x.h" // Device header #include "freertos.h" #include "task.h" #include "usart.h"TaskHandle_t myTaskHan…

Vue纯CSS实现掷色子

效果图&#xff1a; 实现代码 直接利用CSS3动画实现的效果&#xff0c;无js代码。 <template><div class"wrap"><input type"checkbox" id"roll"><label for"roll"><div class"content"><…

音视频报警可视对讲15.6寸管理机

音视频报警可视对讲15.6寸管理机 一、管理机技术指标&#xff1a; 1、15.6寸原装京东方工业液晶触摸屏&#xff0c;分辨率1920 (H) x 1080 (V)&#xff1b; 2、1000M/100M自适应双网口&#xff1b; 4、按键设置&#xff1a;报警/呼叫按键&#xff0c;通话/挂机按键&#xff…

Android Studio(列表视图ListView)

前言 前面在适配器章节&#xff0c;已经介绍了ListView的作用(干什么的)&#xff0c;这节将主要介绍如何去设计ListView页面视图。 思考 列表视图需要些什么&#xff1f; 1. 列表项容器&#xff08;装载各列表项的容器&#xff09;&#xff1a;<ListView/> 2. 列表项布局…

使用IDEA让文本对比不在变的困难

文章目录 前言操作1、IDEA与电脑磁盘任意文件的比较2、项目内部的文件比较3、剪切板比较4、IDEA本地历史比较5、IDEA版本历史对比 前言 在日常实际开发当中我们常常会对一些代码或内容进行比对查看是否有差异&#xff0c;这个时候不需要借用第三方比对插件&#xff0c;在IDEA中…

Android-JobService

JobService 这里写目录标题 JobService一、API详解1 onStartJob2 onStopJob 二、onStartJob | onStopJob 返回值case 1case 2case 3 ref: 深入理解JobScheduler与JobService的使用 - 掘金 (juejin.cn) (28条消息) JobService的使用介绍_TechMerger的博客-CSDN博客 (28条消息) J…

为什么有了MAC地址,还需要IP地址?

解释 搞懂这个问题&#xff0c;首先需要了解交换机的功能 交换机内部有一张MAC地址映射表&#xff0c;记录着MAC地址和端口的对应关系。 如果A要给B发送一个数据包&#xff0c;构造如下格式的数据结构&#xff1a; 到达交换机时&#xff0c;交换机内部通过自己维护的 MAC 地…

4 Tensorflow图像识别模型——数据预处理

上一篇&#xff1a;3 tensorflow构建模型详解-CSDN博客 本篇开始介绍识别猫狗图片的模型&#xff0c;内容较多&#xff0c;会分为多个章节介绍。模型构建还是和之前一样的流程&#xff1a; 数据集准备数据预处理创建模型设置损失函数和优化器训练模型 本篇先介绍数据集准备&am…