15 November 2013

Vagrant是什么?

Vagrant是一款分布式虚拟开发环境工具Vagrant. You can create and configure lightweight, reproducible, and portable development environments. Vagrant](http://www.vagrantup.com)

为什么需要Vagrant?

Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team.

第一步:在MacOSX上安装虚拟机VirtualBox

** 在MacOSX上安装虚拟机VirtualBox
wget http://download.virtualbox.org/virtualbox/4.3.2/VirtualBox-4.3.2-90405-OSX.dmg
open VirtualBox-4.3.2-90405-OSX.dmg
open /Volumes/VirtualBox/VirtualBox.mpkg

** 启动虚拟机VirtualBox
open /Applications/VirtualBox.app

软件世界:分布式虚拟开发环境工具Vagrant——第一步

第二步:在MacOSX上安装虚拟机Vagrantup

## 安装方法一
gem install vagrant

## 安装方法二
wget http://files.vagrantup.com/packages/a40522f5fabccb9ddabad03d836e120ff5d14093/Vagrant-1.3.5.dmg
open Vagrant-1.3.5.dmg
open Vagrant.pkg

第三步:在MacOSX上使用虚拟机Vagrantup

# 打开终端
vagrant
vagrant -v

软件世界:分布式虚拟开发环境工具Vagrant——第二步

第四步:在MacOSX上安装Vagrant虚拟开发环境

  1. 什么是Vagran Box? Vagran Box就是一个Vagran虚拟开发环境。
  2. Vagran Box在哪里下载?
  3. https://github.com/mitchellh/vagrant/wiki/Available-Vagrant-Boxes
  4. http://www.vagrantbox.es/

软件世界:分布式虚拟开发环境工具Vagrant——第四步

# 安装Vagran虚拟开发环境(操作系统)
vagrant
vagrant box
vagrant box list
vagrant box add
vagrant box add lucid64 http://files.vagrantup.com/lucid64.box # Box名称lucid64是由用户自己定义
vagrant box add lucid32 http://files.vagrantup.com/lucid32.box
vagrant box add precise64 http://files.vagrantup.com/precise64.box

# 删除Vagran虚拟开发环境(操作系统)
vagrant box remove lucid32

第五步:使用Vagran虚拟开发环境

软件世界:分布式虚拟开发环境工具Vagrant——第五步

# 启动Vagrant虚拟开发环境

## 本地准备工作
mkdir vagrantup
cd vagrantup
touch readme.txt
echo "Hello Vagrant" > readme.txt
cat readme.txt

## 创建工具Vagrant本地初始化文件
vagrant box list
vagrant init precise64
ls -al

## # 开始创建该目录操作系统并且启动虚拟操作系统
vagrant up # 对应于命令vagrant halt 和 vagrant destroy

## 开始使用工具Vagrant
vagrant up #视需要而定
vagrant ssh
cd /vagrant
ls -al
cat readme.txt

## 返回本地系统
exit

## 退出操作系统
vagrant halt # 对应于命令:vagrant up(部分功能)

## 删除工具Vagrant本地初始化文件及其该目录操作系统
vagrant destroy # 对应于命令:vagrant up(部分功能)

第六步:虚拟开发环境开发Rails软件

软件世界:分布式虚拟开发环境工具Vagrant——第六步

软件世界:分布式虚拟开发环境工具Vagrant——第六步

参考资料.第一步

  1. http://www.virtualbox.org/wiki/Downloads
  2. http://downloads.vagrantup.com
  3. https://gist.github.com/2714101

参考资料.第四步

  1. http://www.mysqlops.com/2012/05/09/puppet-vagrant.html
  2. http://stackoverflow.com/questions/8896890/few-vagrant-boxes-in-one-project

参考资料.第四步

  1. http://downloads.vagrantup.com/
  2. https://www.virtualbox.org/wiki/Downloads
  3. http://vagrantup.com/docs/getting-started/index.html
  4. http://blog.bloc.io/a-better-way-to-set-up-rails-on-windows
  5. http://railscasts.com/episodes/292-virtual-machines-with-vagrant

参考资料.第五步

  1. http://mingjin.thoughtworkers.org/?p=155
  2. http://mingjin.thoughtworkers.org/?p=170
  3. http://mingjin.thoughtworkers.org/?p=176
  4. http://dougalmatthews.com/2011/02/27/my-vagrant-workflow/
  5. http://vagrantup.com/v1/docs/bridged_networking.html

Next Steps

Please take a look at or jump right into Usage if you’d like.