永发信息网

jenkins,设置集成测试环境,就是构建过程先部署服务,然后运行整体测试用例,执行完后在关闭服务

答案:1  悬赏:10  手机版
解决时间 2021-11-20 14:35
  • 提问者网友:寂寞撕碎了回忆
  • 2021-11-19 22:18
jenkins,设置集成测试环境,就是构建过程先部署服务,然后运行整体测试用例,执行完后在关闭服务
最佳答案
  • 五星知识达人网友:慢性怪人
  • 2021-11-19 22:40
Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满足各式的集成需求。
因为手里项目所用到的稳定性和性能测试工具每天手动部署到各台windows机器上比较浪费时间,所以这里使用jenkins用于部署测试工具到各个测试机上运行。整套环境需要一个中心服务器和若干测试机器组成的slave,这就是jenkins的Master/Slave结构,如下所示:

在我们下面的使用中,master和slave是通过jnlp协议来通讯的。
Master机器:
我们需要在我们的master机器上安装jenkins,没有什么特殊说明,注意的是安装包方式同样可以通过运行安装目录下的jenkins.war来启动jenkins,而默认情况下安装后会安装一个名为Jenkins的自动运行的服务。
安装完后访问jenkins的根目录,默认情况下端口是8080(如果要使用其他端口启动,可以通过命令行”Java –jar Jenkins.war –httpPort=80”的方式修改),通过”系统管理”-”管理节点”-“新建节点”

新建节点主要设置远程目录已经运行和访问的方式,注意这里如果有很多机器,建议远程工作目录名称都一样,方便管理,如下所示:

点击保存,这时候就会在jenkinsnode视图左侧看到创建的slave节点。

下面要做的就是部署真正的slave机器了,点击左侧的”test_machine”,这时候会打开该节点的页面,复制这个url,一般是形如http://192.168.1.148/computer/test_machine/, 注意这里在访问的时候不要通过 127.0.0.1的方式访问,因为这样可能会导致后面所用到的jnlp文件中master地址也是127.0.0.1,从而导致slave机器上启动失败。

Slave机器:
首先需要在slave机器上安装java环境和.NetFrameWork环境,然后在浏览器中访问上面拷贝的url,这里提供了三种方式运行slave,我这里使用的第二种方式:

备注:slave.jar的位置如 http://192.168.1.148/jnlpJars/slave.jar
这时候有可能出现如下的错误:

这是因为从 Java 7 Update51 开始,如果应用程序没有证书(例如未签名应用程序)或缺少应用程序名称和发行者信息,默认情况下会被阻止。运行此类型的应用程序可能不安全并存在较高级别的风险。
解决的方法是通过windows开始菜单项打开java控制面板,然后把master机器的url添加到安全提示的例外网站。

再次运行,则弹出如下的安全警告,允许运行即可。

同时,当运行主机上安装了多个java版本时并且应用程序被安全设置阻止时,可以取消一些版本,防止一些意想不到的异常。

运行成功我们能看到连接成功的窗口,而我们继续查看可以在设定的远程工作目录,c:\remote_jenkins下看到如下的一些文件jenkins-slave.exe,jenkins-slave.exe.config,slave.exe,jenkins-slave.xml。 我们这里主要关注jenkins-slave.xml,从下面我们可以看到两个关键节点,executable和arguments,如果你想使用不同的java版本,可以从这里修改,而从arguments可以看出jnlp协议连接的master主机地址。

这时候slave机器已经运行起来了,但是我们显然不想每次都在slave机器上运行一下启动,所以jenkins又提供了slave的服务,如下所示进行安装。

上面说过机器上需要. NetFrameWork环境,我理解是用于安装windows服务用的,当你没有安装时会提示如下错误:

但是上面的提示却误导了我,因为一般都会版本越新越好,但是在xp环境上,最终只有安装2.0版本才能正常,其他所有版本安装后安装服务都会提示如下一些错误提示:

当然上面slave机器上所有进行操作的前提是设置了远程工作目录并且的确在你远程的物理机上创建了该目录,如果没有设置远程工作目录,会错误提示如下:

如果配置了远程工作目录,但是salve机器上没有该目录,则弹出如下错误:

如果slave无法连接,查看远程工作目录下的jenkins-slave.err.log,

这是因为我在master机器上把该slave的名字改了,但是下发到该slave上的jenkins-slave.xml还是旧的信息。
还有一种情况就是在在你master机器ip不断变化的情况下,可能存在即使新建了新的slave节点,但是启动slave的时候失败的情况,这时候最好的方式是看一下该节点的slave-agent.jnlp文件中的内容,然后手动修改中间的一些地址信息,然后手动javaws运行该文件即可。另外一种方法是jenkins的系统管理面板下修改“Jenkins Location”的” Jenkins URL”。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯