Jenkins+RobotFramework 持续集成环境搭建

478 阅读5分钟

Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

CI/CD是什么? CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。借用网络图片对CI加以理解。

CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。下图反应的是CI/CD 的大概工作模式。

Jenkins持续集成环境搭建

Jenkins是基于Java开发的持续集成系统(CI),所以运行环境必须安装JDK。 安装JDK的方法有很多种,有些Linux系统可能会自带openjdk,需要注意的是较新版本的jenkins并不支持低版本的JDK.

一、安装JDK

1.卸载系统自带的JDK rpm -qa | grep jdk yum -y remove java*

2.安装JDK并配置环境变量

dowmload.oracle.com/otn-pub/jav…

tar -zxvf jdk-8u131-liunx-x64.tar.gz -C /usr/local/jdk

3.配置环境变量

vim  /etc/profile

JAVA_HOME=/opt/jdk1.8.0_131
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar
export JAVA_HOME JRE_HOME PATH CLASSPATH

4.刷新配置 Source /etc/profilez

二、安装Tomcat

  1. 安装软件 : apache-tomcat-9.0.0.M1.tar.gz(下载地址tomcat.apache.org/);
  2. 用FTP工具传到服务器上,解压unzip tomxxx命令(如无此命令则需要先安装unzip命令,yum install unzip);
  3. 设置Tomcat端口:进入conf目录,vim server.xml ; (如端口无重复则不需要特意更改端口)

image.png

4.进入Tomcat的bin目录启动Tomcat 执行: startup.sh -->启动tomcat 执行: shutdown.sh -->关闭tomcat 5.设置tomcat的防火墙规则

firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reloa

三、安装Jenkins

Jenkins有两种安装方式,官网提供的rpm包安装和下载war包直接运行。

(一)官网提供的安装方式

image.png image.png

查看Jenkins的安装路径 image.png

修改Jenkins的端口和Jenkins调用JDK的路径

image.png

image.png

image.png

rpm包安装的密码路径

image.png

(二)War包直接运行

Jenkins的war包下载路径:

mirrors.jenkins-ci.org/

mirrors.tuna.tsinghua.edu.cn/jenkins/war…

因为已经安装了Tomcat,故直接下载war包即可,下载完成后使用FTP工具传到服务器上Tomcat对应的webapps文件夹;

访问http://localhost:8080/jenkins,会提示你去一个目录查看密码,把密码复制进来就可以进入了

image.png

输入密码后,正常情况下,会进入安装插件页面。点击Install suggested plugins,安装Jenkins建议安装的插件。 不推荐安装自定义插件,有可能因为网络原因无法安装成功,可后期离线安装插件

image.png

image.png

离线插件地址: updates.jenkins-ci.org/download/pl…

四、安装Robot插件

配置Jenkins上的robotframework环境

image.png

手动安装插件,进入该菜单后,点击高级,可以上传通过上面链接下载的插件后安装

image.png image.png image.png 上传成功后,插件自动安装。安装成功后,重启Jenkins后生效。

五、配置Slave

jenkins中slave节点连接的两种常用方式 任务一般是在slave上面运行的。当然不是讲master节点不能跑任务,master节点主要是处理调度构建作业,把构建分发到slave节点进行实际执行,监视slave节点的状态(必要时让它们进行上线或者离线),记录和发布构建产物。

主要常用的的连接slave节点的方式就是通过ssh和jnlp。两个特点分别如下:

1)ssh来说,我们一般用的服务器都是linux系统,当然最方便的就是通过ssh启动jenkins节点,但是这个有个前提的要求就是master和slave之前能进行ssh连接

2)jnlp连接方式有个好处就是不用master和slave之间能够ssh连接,只需要能够ping即可。并且如果slave的机器是windows的话,也是可以的这个其实是非常实用的,因为有时候,可能一些权限或者防火墙的原因,这master和slave真的不能够ssh连接,还有一些未知的原因无法ssh到slave节点都可以通过jnlp的方式进行连接。

远程调用windows并运行robotframework自动化测试脚本,需要先添加slave。

1、进入系统设置页面,进入manage nodes,新建节点;

image.png

2、填写数据,并发数填1,远程工作目录是设置此节点远程工作目录的路径,在这个节点上运行的Job都会保存到工作目录里,此配置项必须设置;在D盘新建一个目录即可。

image.png

3、用法:尽量使用这个节点;启动方式选择launch agent by connection it to the master,然后保存。 (如果找不到此启动方式,需要在安全设置中修改一下配置,具体操作如下)

4、进入系统管理---》全局安全配置(Configure Global Security)

image.png

image.png

设置为“随机选取”,并在代理协议中勾选全部选项;

image.png

Enable Agent需要打钩选中

image.png

保存后,slave配置界面中可以看到启动方式就会有launch agent by connection it to the master选项了。

5、保存之后保存之后点运行,会下载一个java文件到本地,双击运行之后看到已连接后,刷新页面,此时节点就已经连上了。

image.png

在高版本Jenkins,随机选取下的代理协议已经没有Java Web Start项了,只有一个Inbound项。

image.png image.png image.png

按以下方式进行配置:

image.png

配置好以后查看如何启动Slave

image.png image.png

切换到Slave节点服务器按顺序执行以上三个command 产生两个文件agent.jar和slave-agent.jnlp

image.png image.png