• Jenkins+RebotFramework 持续环境集成


    系统环境 : CentOS Linux release 7.4.1708 (Core)

    JDK:java version "1.8.0_131"

    Tomcat: apache-tomcat-8.5.33

    Jenkins: 2.242

    一、安装JDK

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

    1. 卸载系统自带的JDK

    1. rpm -qa | grep jdk
    2. yum -y remove java*

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

    https://dowmload.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u131-liunx-x64.tar.gz

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

    3. 配置环境变量

    1. vim  /etc/profile
    2. JAVA_HOME=/opt/jdk1.8.0_131
    3. JRE_HOME=$JAVA_HOME/jre
    4. PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    5. CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar
    6. export JAVA_HOME JRE_HOME PATH CLASSPATH
    1. 刷新配置
    source /etc/profile

    、安装Tomcat

    1. 安装软件 : apache-tomcat-9.0.0.M1.tar.gz(下载地址http://tomcat.apache.org/);

    2. 用FTP工具传到服务器上,解压unzip tomxxx命令(如无此命令则需要先安装unzip命令,yum install unzip);

    3. 设置Tomcat端口:进入conf目录,vim server.xml ;

    (如端口无重复则不需要特意更改端口)

    4.进入Tomcat的bin目录启动Tomcat

    执行: startup.sh  -->启动tomcat

    执行: shutdown.sh  -->关闭tomcat

    1. 设置tomcat的防火墙规则
    1. firewall-cmd --permanent --zone=public --add-port=8080/tcp
    2. firewall-cmd --reloa

    、安装Jenkins

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

    • 官网提供的安装方式

     

     查看Jenkins的安装路径

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

     

     

     

     

    rpm包安装的密码路径

    • War包直接运行

    Jenkins的war包下载路径

    Jenkins mirrors

    https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.242/

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

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

     

    输入密码后,正常情况下,会进入安装插件页面。点击Install suggested plugins,安装Jenkins建议安装的插件。

    不推荐安装自定义插件,有可能因为网络原因无法安装成功,可后期离线安装插件

     

    离线插件地址:

    Index of /download/plugins

    配置Jenkins上的robotframework环境

    本次选择robot版本为2.1.2

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

    上传成功后,插件自动安装。安装成功后,重启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的方式进行连接。
    • SSH连接设置

    Windows Slave安装OpenSSH,并启动ssh服务,测试ssh的22端口是否开启。

    Jenkins安装Publish Over SSH插件。

    在Jenkins管理界面中,依次打开:系统管理--》系统设置--》Publish over SSH部分,按照下图进行配置,并测试Jenkins的master能否ssh远程连接到Slave。

     

    •  jnlp连接

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

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

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

     3、用法:尽量使用这个节点;启动方式选择launch agent by connection it to the master,然后保存。

    (如果找不到此启动方式,需要在安全设置中修改一下配置,具体操作如下)

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

     

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

    Enable Agent需要打钩选中

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

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

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

     

     

     按以下方式进行配置:

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

     

    切换到Slave节点服务器按顺序执行以上三个command

    产生两个文件agent.jar和slave-agent.jnlp

    到此master与Slave已经连接上

     

     

    配置Job执行测试计划

    在windows执行RobotFramework自动化测试用例,首先需要设置全局变量Path,指定pybot.bat和浏览器的路径

     

    在Slave节点也需要配置Path

     

    配置Job

    1、在Jenkins首页的左侧菜单栏,点击新建任务,输入一个任务名称,并选择“构建一个自由风格的软件项目”,点击确定进入配置Job页面。

     

    Restrict where this project can be run: 前面的标签就在这里用上了。用来指定这个Job在哪个标签的slave上执行。

     

     每天2:00 必须build一次源码

    其他默认

    2、构建,选择Windows命令,在Execute Windows batch command中输入执行的命令行,执行

    -d 指定robot日志生成的目录,最后参数目录下所有robot文件都会被执行,要具体参数可以再windows Slave 执行pybot.bat --help查看。

    生成报告路劲需要和项目路径保持一致。

    3、回到列表选中刚添加的job,点击build now;

    PS: 因为用户名与密码设置错误所以测试用例结果都为Fail

     查看日志;

     

     注: 构建或部署成功后,会出现(report.html和log.html 无法打开)

    执行以下脚本System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","") 

     

  • 相关阅读:
    jvm-类加载
    计算机毕业设计Java妇女健康保健系统(源码+系统+mysql数据库+lw文档)
    基于Java的宠物医院管理系统设计与实现(源码+lw+部署文档+讲解等)
    汽车标定技术(四)--问题分析:多周期测量时上位机显示异常
    unplugin-vue-components和unplugin-auto-import插件
    [附源码]java毕业设计校园一卡通管理信息系统台
    [Java]Java SPI机制
    GuavaCache学习三种过期策略的学习
    MySQL 视图简介
    积分商城小程序的作用是什么
  • 原文地址:https://blog.csdn.net/qq_35029061/article/details/125631602