详解码头工人群在持续集成测试中的应用

  

<强>背景

  

敏捷(敏捷)模式被广泛应用,测试显得尤为重要。由于需要频繁发布新的版本,我们需要更加频繁的执行测试用例,以确保没有新的bug被引入到版本中。

  

一个完整的测试流程所需要占用的时间和资源也不可忽视,包括对测试结果的分析都要占用大量的资源。如何在更短时间内,提供完整,全面的测试以保证质量,是我们急于解决的问题,也是保证敏捷开发能顺利进行的关键。

  

詹金斯实现了无人值守的测试流程,开发结束后,一旦在测试环境部署成功,下游的测试任务就会即刻执行。

  

詹金斯的应用在一定程度上节省了人力资源,而码头工人技术可以实现容器(容器)快速的拓展,从而节省了大量的设备资源和时间,快速的完成测试。这在詹金斯管道(代码流水线管理)中是非常重要的一个环节,如图1所示:

  

详解码头工人群在持续集成测试中的应用“> </p>
  <p>图1所示。詹金斯管道</p>
  <p>本文主要介绍如何利用码头工人群集群功能和硒网格脚本分发功能,来搭建一个可以动态扩容的硒自动化脚本执行环境。相比于用真实的机器作为硒自动化脚本执行环境,使用此套环境可以极大的减少对执行环境的维护工作,比如各种浏览器类型的管理和版本的管理。也能极大的减少对脚本执行环境的物质投入,节省各类资源。</p>
  <p> <>强搭建码头工人群集群</强> </p>
  <p> <>强群简介</强> </p>
  <p>群是码头工人官方提供的一款集群管理工具,用来管理码头工人集群,它将若干台码头工人主机抽象为一个整体,并且通过一个入口统一管理这些码头工人主机上的各种码头工人资源。</p>
  <p>群只是一个调度器(调度器)加路由器(路由器),群自己不运行容器,它只是接受码头工人客户端发送过来的请求,调度适合的节点来运行容器,这意味着,即使群由于某些原因挂掉了,集群中的节点也会照常运行,当群重新恢复运行之后,它会收集重建集群信息。</p>
  <p>群和Kubernetes比较类似,但是更加轻,具有的功能也较Kubernetes更少一些。</p>
  <p> <强>环境准备</强> </p>
  <p>为了搭建码头工人群集群环境,我在示例中准备了两台机器。一台作为经理节点,同时也作为一个工人节点,另一台只作为一个工人节点。</p>
  <p>这里假设我们的两个机器IP信息如下:</p>
  <ul>
  <李> M1:10.13.181.1李</>
  <李> M2:10.13.181.2李</>
  </ul>
  <p>码头工人引擎从V1.12.0版本开始,原生集成了码头工人群,所以只要在每台机器上安装码头工人,就可以直接使用码头工人群。在这里,关于码头工人的安装不再详细介绍,请按照官方码头工人群文档进行安装。安装完成后,在每台机器上将码头工人服务启动。</p>
  </p> <p>提示:
  <p>注意:最好关闭机器上的防火墙,否则可能会出现群集群网络连接问题。</p>
  <p>关闭防火墙的命令:systemctl停止firewalld.service </p>
  <p>禁止防火墙开机启动命令:systemctl禁用firewalld.service </p>
  <p> <强>步骤</强> </p>
  <p> 1,创建管理节点。</p>
  <p>我们将机器M1作为经理节点,在这台机器上执行命令来初始化集群环境。命令如下:</p>
  
  <pre类=   sudo码头工人群init - advertise-addr 10.13.181.1      

执行此命令后,会返回一个用于加入集群的令牌(令牌),以便其他工人加入此集群。

  

清单1。加入集群令牌示例:

  

代码如下:码头工人群加入——令牌SWMTKN-1-5p3kzxhsvlqonst5wr02hdo185kcpdajcu9omy4z5dpmlsyrzj
  3 phtv1qkfdly2kchzxh0h2xft 10.13.181.1:2377

  

如果想再次获取加入集群的命令,可以通过执行以下命令获取:

        sudo码头工人群join-token工人      

2,将机器M1也作为工人节点添加到集群。

  

在经理节点机器上运行清单1的命令,即可将机器M1也作为工人加入群集群当中。

  

3,将另一台机器M2作为工人节点添加到集群。

  

在机器M2上执行上述清单1中的命令,即可实现M2加入集群的功能。

  

4,运行如下命令创建集群网络:

        sudo码头工人网络创建- d覆盖seleniumnet      

这里,seleniumnet即是我们所创建的集群网络名称。

  

5,在新建的集群网络上创建Selenium Grid服务。

  

。创建硒网格中心服务。基于集群网络seleniumnet,将4444端口映射到集群的4444端口,将超时时间设置为120秒,可以增大或减少超时时间,如清单2所示。

详解码头工人群在持续集成测试中的应用