Vagrant 是一个开源工具,使用它可以轻松创建和配置虚拟开发环境。它可以基于 VirtualBox 和配置管理工具如 Puppet, Chef 等。从 1.1 版本开始,它不只局限于 VirtualBox, 同时支持了其它虚拟化软件如 VMware 和亚马逊 EC2 等.
Provider
为 Vargrant 提供虚拟化支持的软件,比如 Virtural Box 或 vmwareBox
虚拟镜像,Vagrant 为不同的 Provider 提供了很多不同的基础镜像Project
一个目录和目录中的 Vagrantfile 就是一个 project. 项目可以有子项目,子项目中的 Vagrantfile 可以继承和继承和重写父项目中的配置。可以通过git等版本管理工具来管理项目。Vagrantfile
Vagrant 的配置文件,使用 Ruby 的语法描述。里面定义了项目所使用的box,网络,共享目录,provision 脚本等。当 vagrant up 命令运行时,将读取当前目录的 Vagrantfile。Provisioning
指的是虚拟机实例启动后,所需要完成的基础配置工作,比如说安装LAMP服务等。Vagrant支持使用shell,puppet,chef来完成provisioning工作。Plugin
Vagrant 提供了插件机制,可以很好的扩展对宿主机 OS, GuestOS,Provider,Provisioner 的支持,比如 vagrant 的 aws 和 openstack 支持都是通过 plugin 来实现的。http://downloads.vagrantup.com/ 1
vagrant box add precise64 http://files.vagrantup.com/precise64.box
也可以使用其它镜像或先下载到硬盘中:http://www.vagrantbox.es/ !!!这里的镜像没有经过人审核,谨慎使用!!!
创建一个目录(只为这一个虚拟环境)
Vagrantfile 文件中添加
config.vm.provision "shell", path: "provision.sh"
shell 脚本位于与 Vagrantfile 同目录下的 provision.sh
sudo apt-get install vim git -y
vagrant up 启动 vagrant ssh # SSH 登录 cd /vagrant # 此目录对应宿主机上的 `~/projects/game`
~/projects/game 目录下生成的 Vagrantfile
是配置文件,可以做个性化的定制。各配置项文件中有详细的说明。
开发环境后,退出并关闭虚拟机,对开发环境打包
vagrant halt vagrant package
也可以打包直接由 Virtual Box 生成的虚拟机
Veewee 是一个可以简单并重复创建、定制 Vargrant box 的工具。
在 Github 上的地址:https://github.com/jedi4ever/veewee
目测已撞墙 ↩