引言
本文主要介绍如何进行高性能自动化测试的环境搭建,重点介绍如何部署 Jenkins Server, Chef Server, Chef Client, NTP Server, NTP Client, Yum Server,NFS Server, NFS Client 和 SSH 免密码登录,从而帮助读者了解如何在项目里进行高性能自动化测试的环境部署。
自动化测试环境搭建
部署 Jenkins Server
以下操作将介绍在 Windows 上部署 Jenkins Server。
因为 Jenkins 是基于 Java 开发的,所以在安装 Jenkins Server 之前首先保证 Java 已被安装,并准确配置 Java 相关的环境变量:JAVA_HOME,Path,和 CLASSPATH。
由于 Ant 在测试脚本里会带来极大的方便,所以在执行 Jenkins 的 Job 里会用到 Ant 脚本,因此 Ant 也是必须安装的,同时也要准确配置 Ant 相关的环境变量 ANT_HOME 等。
最后就是部署 Jenkins Server 并使其正常运行了,安装 Java 和 Ant 步骤大家应该都比较清楚,所以在这里简单介绍下如何在 Windows 下部署 Jenkins Server。
1. 到 Jenkins 官方网址: http://Jenkins-ci.org/ 下载最新的 Jenkins 版本(jenkins.war)。
2. 运行 java -jar jenkins.war
部署 Chef Server 和 Chef Client
Chef 是一款基于 ruby 语言的配置管理软件,广泛应用于服务器运维中。Chef 对要配置的对象提供跨平台抽象,用户大部分时间只和这些抽象资源打交道,而不用关心其具体的实现。鉴于 Chef 的上述功能,我们使用 Chef 来部署大量测试环境。通过使用 Chef,我们达到了高效且自动化部署大量测试环境的目的,使得我们在工作中可以得到极大的便利。在部署过程中,我们使用 Linux 多线程方法,可以同时部署多台测试环境,并且描述了如何将一台全新的机器制作成 Chef Client 的便捷方法。在 developerWorks 上已经有如何在 Linux 上部署 Chef Server 和 Chef Client 的相关文章了,因此在此不做赘述,大家可以参考《Chef 的安装与使用》。
部署 NFS Server 和 NFS Client
NFS(Network File System)即网络文件系统,是 FreeBSD 支持的文件系统中的一种,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。在 NFS 的应用中,本地 NFS 的客户端应用可以透明地读写位于远端 NFS 服务器上的文件,就像访问本地文件一样。这种资源的共享对高性能自动化测试环境中的每个测试节点来说都是至关重要的,测试结果的实时共享大大提高了测试效率。以下操作将介绍在 Linux 上部署 NFS Server 和 NFS Client,从而保证环境里所有 node 上的 share folder 可以共享,大大节省互传 report 的时间。
图 1. 确认 NFS service 相关的软件包是否已经安装
如果没有 NFS service 相关软件,首先用 # yum install nfs*命令进行安装相关软件包。
图 2. 查看 NFS service 状态
如果 2,3,4,5 处于 off, 就用 # chkconfig nfs on 命令将 NFS service 启动起来。
图 3. 配置共享目录
用 # vi /etc/exports 去配置要共享的目录,然后用 # service nfs restart 命令重启 NFS 服务,至此,NFS Server 已经配置完成。
图 4. 查看 NFS Server 共享目录
在 NFS Client 上用命令 #mount -t nfs 9.110.183.108:/home/share /home/share 进行和 NFS Server 之间的共享。在任意一个 NFS Client 上可以看到 NFS Server 的共享目录。
部署 NTP Server 和 NTP Client
NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到世界协调时 UTC,它可以使计算机对其服务器或时钟源(如石英钟,GPS 等等)进行时间同步,提供高精准度的时间校正。以下操作将介绍在 Linux 上部署 NTP Server 和 NTP Client,从而保证所有 node 上的测试报告时间是同个时区的时间。
部署 Yum Server
搭建一套局域网的 YUM 安装源,对于搭建高性能的自动化测试环境来讲是很重要的事情, 因为如果 VM 不支持连接外网的话,安装很多软件都是很繁琐的事情。以下操作将介绍一个局域网的 YUM 安装源的部署,从而方便没有外网的 node 可以顺利的安装上必须的软件。