首先是,在实践过程中,需要对某个软件进行,不同操作系统,不同系统上的对应测试软件进行测试
学长给的思路是通过vagrant进行二次开发利用ruby脚本不停的将测试软件放在测试环境里自动化测试
首先借鉴了大神的帖子:
http://www.oschina.net/p/vagrant
http://lovelace.blog.51cto.com/1028430/1423343
根据相关步骤
通过:
virtual box 这个开源的虚拟机
再通过 vagrant 这个操作虚拟机工具
命令步骤如下:(复制别人的)
详细操作步骤:
工具及环境介绍:
工具及环境 | 版本 | 下载地址 |
宿主机环境 | win7 x64 旗舰版 | http://msdn.itellyou.cn/ |
VirtualBox | VirtualBox-4.3.12-93733-Win | https://www.virtualbox.org/ |
vagrant | vagrant_1.6.3 | http://www.vagrantup.com/ |
box | CentOS-6.3-x86_64-minimal.box | http://www.vagrantup.com/ |
xshell | xshell_4.0.0131.1397032097 | http://www.netsarang.com/download/main.html |
亮点来了,请仔细看额:
1、安装VirtualBox
(略)
2、安装vagrant
3、下载box
4、安装xshell
5、正式开始进行操作~
-
新建一个文件夹作为工作目录
-
打开一个dos窗口,初始化该目录,然后导入box
Note: 导入box的默认指令
vagrant box add name uri
但是由于直接制定uri的话,就相当于在线下载了,那速度是相当的慢啊,所以这里我就事先下载好 了,直接导入即可
1
2
|
vagrant init
vagrant box add centos6.
3
j:\迅雷下载\CentOS
-
6.3
-
x86_64
-
minimal.box
|
-
修改Vagrantfile配置文件,该文件管控着虚拟机的运行
我这里比较懒,直接网上找了一个相关的配置文件,修改了下,就直接用了
修改后的文档:启用了四个虚拟机,内存均为256M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# -*- mode: ruby -*-
# vi: set ft=ruby :
app_servers = {
:http => '192.168.58.20',
:php => '192.168.58.21'
}
Vagrant.configure("2") do |config|
config.vm.box = "centos6.3"
config.vm.define :haproxy do |haproxy_config|
haproxy_config.vm.network :private_network, ip: "192.168.58.10"
haproxy_config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.provider :virtualbox do |vb|
vb.name = "haproxy"
vb.customize ["modifyvm", :id, "--memory", "256"]
end
end
app_servers.each do |app_server_name, app_server_ip|
config.vm.define app_server_name do |app_config|
app_config.vm.hostname = "#{app_server_name.to_s}.vagrant.internal"
app_config.vm.network :private_network, ip: app_server_ip
# app_config.vm.synced_folder "../app", "/opt/app"
app_config.vm.provider "virtualbox" do |vb|
vb.name = app_server_name.to_s
vb.customize ["modifyvm", :id, "--memory", "256"]
end
end
end
config.vm.define :redis do |redis_config|
redis_config.vm.hostname = "redis.vagrant.internal"
redis_config.vm.network :private_network, ip: "192.168.58.30"
redis_config.vm.provider "virtualbox" do |vb|
vb.name = "redis"
vb.customize ["modifyvm", :id, "--cpuexecutioncap", "50"]
vb.customize ["modifyvm", :id, "--memory", "256"]
end
end
end
|
-
开启虚拟机,这里你可以完全开启,也可以只开启一台
PS: 第一次开启的时候,建议一台一台的开启,这样的话方便记录ssh连接端口号(个人偏好使用xshell)
通过这个步骤之后:
确实可以在他封装的虚拟文件 .box 文件运行,或者自己封装的(通过virtualbox 虚拟机做的文档和vagrant 的打包命令可以自己做)
但是遇到的问题就是,windows 系统由于没有ssh 服务所以,连接不上,
同时,在自动化脚本方面,可以自动配置,但是,比方说,linux用写好的脚本跑,
Windows 用写好的批处理跑
可以在接下来的时间里在做仔细的研究
停滞下来的原因就是:
1.Windows ssh服务搭建
2.如何自动化脚本
3.系统封装的太慢 浪费时间
等到下次项目需要类似的东西的时候在做自动化
不过在这个东西上也学到两点,1.做人做事要认真细致
2.要多关注论坛等,多交流干活才是王道