小弟的規劃表 - http://blog.kerkerj.in/blog/2014/11/01/planning/
好讀版 - http://blog.kerkerj.in/blog/2014/10/07/api-d7/
昨天我們已經把一個全新乾淨的環境架起來了
這時候我們不希望因為日後的操作導致 Server 環境髒掉,又要重灌
因此我們今天就來練習一下如何使用 vagrant 打包環境!
一樣先進入虛擬機資料夾,先確保虛擬機沒有在運作:
$ vagrant status
Current machine states:
default poweroff (virtualbox)
The VM is powered off. To restart the VM, simply run `vagrant up`
如果是 poweroff 的話,就可以進行接下來的動作,如果是其他狀態的話,就先下關機指令囉
$ vagrant package
==> default: Clearing any previously set forwarded ports...
==> default: Exporting VM...
==> default: Compressing package to: /Users/.../ithome/package.box
vagrant 就會在虛擬機器資料夾底下建立一個 package.box
這個檔案就是整個伺服器環境的檔案了!
假設今天想要讓團隊成員使用,只要他們都有 VirtualBox + Vagrant 的話,
就可以依循下面的指令步驟將你所做的 box 匯入並使用:
首先我們可以先看看原本所使用的 box 清單:
$ vagrant box list
ubuntu/trusty64 (virtualbox, 14.04)
是 ubuntu/trusty64 沒錯!
那麼我們現在想要加入剛剛所製作的 box ,並重新命名:
$ vagrant box add my_box package.box
==> box: Adding box 'my_box' (v0) for provider:
box: Downloading: file:///Users/.../ithome/package.box
==> box: Successfully added box 'my_box' (v0) for 'virtualbox'!
此時再看看 box 清單:
$ vagrant box list
ubuntu/trusty64 (virtualbox, 14.04)
my_box (virtualbox, 0)
就會多一個了!
vagrant box add my_box package.box
這個指令的意思是將 package.box 加入 box 清單,並以 my_box 命名
package.box 可以是本機路徑,也可以是網址,
如果要分享給團隊成員使用,就可以使用 url 分享,其他人就可以下指令來下載 box 並加入 box list
例如:
$ vagrant box add my_box http://my_dropbox.com/package.box
接著其他人就可以建立自己的虛擬機資料夾,並且到該資料夾中下指令就可以初始化虛擬機器了,例如:
$ mkdir ~/my_machine/
$ cd ~/my_machine/
$ vagrant init my_box
超方便的啦~
如果想要從 box list 中刪除不需要的 box,下此指令即可:
$ vagrant box remove my_box
Are you sure you want to remove this box? [y/N] y
上面只會刪除 box 清單,
如果要刪除虛擬機器資料夾,以及虛擬機器的所有檔案的話,先到虛擬機器資料夾,然後下此指令:
$ vagrant destroy
default: Are you sure you want to destroy the 'default' VM? [y/N] y
虛擬機就會被移除,再來只要將該資料夾砍掉即可~ 就恢復成乾乾淨淨的了~
是不是很方便勒~~
接下來我們就會開始先寫寫 Node.js 的 Hello World 囉~