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)持续的软件版本发布/测试项目。

5、监控外部调用执行的工作。 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环境搭建

1、安装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安装成功;

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

输入节点的具体信息,这里需要注意的是启动方法,启动方法没有java web请往下看:
名字:唯一标识一个代理,通常使用代理主机名
描述:代理的cpu内核,内存使用情况描述。 执行者数量:控制并发构建数量 远程工作目录:一个代理有一个专门的jenkins目录
标签:对多节点分组,代理标签,工程标签相同,说明这个工程在这个代理上运行。
用法:默认选择尽可能使用这个节点
启动方法:默认选择通过java web启动代理 (全局安全中设置)
注意点:(先设置全局安全配置)
在选择启动方法中,如果没有java web 启动代理选项,那么就需要进行如下配置 第一步:点击系统管理,选择全局安全配置
第二步:勾选启用安全
第三步:代理中选额随机选取,代理协议都进行勾选
第四步:选择应用,保存­­>然后点击test_vm
jar包就是代码 类和工具函数
注意:( 将agent 放到d:jenkens下)


构建项目:
五、Jenkins构建项目:
第一步:首页,点击开始创建一个新任务输入一个项目名称,选择构建一个自由风格的软件项 目,最后确定
举例:名称: auto_test1
第二步:输入项目具体配置
1.项目名称:自定义
2.限制可以运行该项目的位置:输入标签,标签为代理的标签(指定项目在哪个代理机上执行)
3.构建:点击增加构建步骤 ,选择执行windows批处理命令
命令输入,例如执行单个用例
Pybot ­­test 用例名称+套件路径
Pybot ­­test 正常登录 G:\Python271\discuz论坛\dcs\论坛项目.txt
批处理命令还有
执行所有项目中的用例:pybot 项目路径
执行当个套件中的用例:pybot 套件路径
执行单个用例:pybot --­­test 用例名称 套件地址
执行标签用例:pybot ­i 标签名称 套件地址
python+绝对路径
5.点击保存­­>然后点击立即构建­­>构建完成之后点击#2­­>点击控制台输出就可以看到相关的 日志了
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个数字,分别为:
H * * * *
第一个* 表示: 分钟:0­—59
第二个** 表示: 小时:0­–23
第三个* 表示 日:1­—31
第四个* 表示 月:1­—12
第五个* 表示 周:0–­7 0和7都代表星期天
H 表示随机
表示所有
表示连续
/ 表示间隔
, 表示和
M-N 指定一个范围值
例如: 每15分钟执行一次 H/15 * * * * (注意:要空一格,H/1 一小时,H/2-15 15分钟 )
每天8点­16点,每1小时执行一次
H 8­16/1
D:\jenkinshz

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

原文地址:https://blog.csdn.net/Francesca_X/article/details/118398200

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


基础环境、流程图1)流程图jenkinspipeline发布应用2)、jenkins上安装kubectl#主节点上查看kubectl位置[root@k8s01~]#whichkubectl/usr/bin/kubectl#将k8s节点的kubectl文件cp至jenkinsscp10.0.0.101:/usr/bin/kubectl.cp./kubectl/usr/local/bin/kubectl
本节是建立在流水线入门内容的基础上,而且,应当被当作一个参考。对于在实际示例中如何使用流水线语法的更多信息,请参阅本章在流水线插件的2.5版本中的使用Jenkinsfile部分,流水线支持两种离散的语法,具体如下对于每种的优缺点,参见语法比较。正如本章开始讨论的,流水线最
Linuxcentos7安装Jenkins(jenkins-2.227-1.1.noarch.rpm)时遇到问题:1.出现问题1:安装jenkins一直失败,提示Nosuchfileordirectory[helen@linuxprobeJenkins]$sudorpm-ivhjenkins-2.227-1.1.noarch.rpmPreparing...####################
作为一个拥有很多账号的当代美少女,忘记用户名密码什么的是再正常不过的事了。“忘记密码”这一功能给我真的带来了很大的福音啊。但是最近重新使用Jenkins时,看到需要输入用户名密码,顿时脑子一片空白。经过一系列的查找,终于解决了问题,害,只有把方法记下来才是王道,以后妈妈再
Jenkins、GitLab和Maven(Nexus)完成自动构建迈向持续集成持续集成,毋庸置疑的是这是两部分要求,一个是持续一个是集成,那么持续和集成到底表示了什么要求和含义呢?其中的集成比较容易理解就是指开发人员将自己开发的代码不断地交付给全部系统的代码,在Git仓的概念之下也就是不断地
 下载文档https://www.jenkins.io/zh/download/  Debian下载1.下载安装keyhttps://pkg.jenkins.io/debian-stable/jenkins.io.key  
流水线建设从Jenkins部署开始Jenkins是一个独立的开源自动化服务器,可以用来自动化,例如构建、测试和部署软件等各种任务,是一个实现CI(持续集成)的很好的工具。Jenkins可以通过本地系统包、Docker安装,甚至可以在安装Java运行时环境的机器上独立运行。JenkCI/CD的概念谈到持
原因:这种情况是SSHServer中的RemoteDirectory路径不存在。解决方法:重新输入目标服务器中存在的路径。      
什么是持续集成持续集成(Continuousintegration,简称CI)指的是,频繁地(一天多次)将代码集成到主干。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。通过持续集成,团
Tomcat安装:1.下载Tomcat包:http:/omcat.apache.org/并解压2.启动:双击bin\startup.bat文件浏览器访问:http://localhost:8080/3.Tomcat配置登录:打开confomcat-users.xml文件添加如下代码:<rolerolename="manager-gui"/><userusername="admin"password=&q
文章目录jenkinscron笔记简介H符号(hash的简写)别名例子jenkinscron笔记简介jenkinscron遵循普通cron的语法,略有不同,每行包含五个字段可以使用Tab和空行分割分钟小时日月周0-590-231-311-120-7(0和7都表示周日)可以使用以下操作符为一个字段指定多个值(按照
1.nginx的配置location/jenkinsno{indexindex.htmlindex.htm;proxy_passhttp://127.0.0.1:8081;proxy_connect_timeout3000s;proxy_send_timeout3000s;proxy_read_timeout3000s;prox
1、下载安装插件下载地址:http://files.jetbrains.org.cn/aliyun-oss.hpi在Jenkins中安装插件,请到ManageJenkins->Advanced->Upload,上传插件(.hpi文件)安装完毕后请重新启动Jenkins2、搜索安装jenkins插件安装3、安装完成以后配置阿里云oss账号oss这边设置:(账号的权限也要
首先将构建历史清除Jenkins构建历史删除与重置然后进入Jenkins服务器工作目录oot/.jenkinstar-czvfjobs.tarjobs 将jobs打包将job.tar文件复制到新Jenkins服务器相同目录下解压tar包 tar-zxvfjob.tar登录新JenkinsJenkins-系统管理-读取配置,只有点击了读取配置,原
一、动态生成Slave1.1、简介之前我们都是在物理机或者虚拟机上部署jenkins,但是这种部署方式会有一些难点,如下:主Master发生单点故障时,整个流程都不可用了每个Slave的配置环境不一样,来完成不同语言的编译打包等操作,但是这些差异化的配置导致管理起来非常不方便,维护起来也是
from jenkins import Jenkins# 判断job是否运行结束def build():    job = 'branch-deploy-wap'    params = {        'server_ip': '10.160.30.XXX',        'server_username': 'root',        'server_userpass&#
背景client端执行webUI自动化测试时依赖操作系统上安装了对应的浏览器,并且浏览器与驱动要进行版本的对应——而selenium是可以部署集群,通过远程的方式执行对应的自动化用例,方便高效。原理1、通过代码可知,自动化运行的主类接收了任务id,获取到任务信息后根据任务类型判断进行接口
背景工具选择架构设计及技术实现参数设计断言持续集成测试集编写总结  一、背景1.目前公司发展比较迅速,还处于不停堆业务阶段,所以迭代比较频繁,导致人工回归的成本越来越大2.在有限的测试资源情况下,开发自测的需求占比不低,后端频繁发布容易心里没底
本地pycharm打开项目,运行自动化项目下载项目代码,并用pycharm打开项目gitclonehttps://gitee.com/iread9527/iInterface_python.git进入iInterface_python目录下,cdiInterface_python使用pip3install-rrequirements.txt命令,安装python项目依赖的第三方库使
Jenkins邮件设置一、简介最近有朋友问Jenkins邮件设置的问题,想起来当时也是碰到不少坑,网上看了很多博客说的解决办法根本没有用。最后我解决了这个问题,在此记录一下,希望能够帮助到在网上搜了半天仍然徒劳无功的朋友们,我懂那种失败了一次又一次的感觉,希望能帮到大家。二、配置步