個人有點系統潔癖,所以改用 VM 技術把環境隔離開,弄爛也不用煩惱。下面是從無到有一個 CentOS 6.4 的步驟。
用 Vagrant 的好處之一,是它很方便讓 Host(實體機器)和執行中的 VM 共用同一個資料夾,你就可以在 Host 上用 IDE 編輯專案,然後用 VM 去執行同一個專案。
建好的 VM 把套件工具都裝好後,也可以匯出成 Box,讓其他人直接使用。想得到的好處有,新人快速擁有開發環境,測試環境和生產環境都用同一份 Box 開始建立,在本機上建立好一個新系統就可以匯出在機房裏建立。
更進階的用途,Vagrant 可以在一個 Vagrant 專案下建立設定多台 VM,等於我可以在開發環境(開發環境夠力能跑那麼多 VM 的話)把整個系統架構用 Vagrant 做出來(比如這個系統要有一台 Apache,一台MySQL外加一台獨立的 FTP),測試環境/正式環境也有裝 Vagrant 的話,就直接搬過去用,免去了架設多主機的繁瑣步驟,理論上所有環境都是相同的,不會有在我電腦上可以你不行的問題發生。
Vagrant 再搭配 docker 這種更輕量級的虛擬技術,原本要跑三個 VM 的架構就可以改成跑一個上面跑三個 docker 的 VM,節省了更多資源。
同時 VM 環境建立也可以利用 Vaagrantfile + sh 的方式來做,搭配 git,這樣連建立環境的步驟都能夠版本控管,不用再寫文件記錄安裝手順。
初步來看,若一般需求,你裝個 Virtual Box 就可夠了。
但若你想保留安裝好所有套件的乾淨 VM,那用 Vagrant 的 Config 來做安裝套件(Config 即手順說明書),隨時都可以回復成有完整套件的乾淨 VM,而不是用備份或快照 VM 這種比較笨重的方式,而且備份快照其實已經不是個乾淨的 VM(資料庫已經有資料或是環境上已經有不需要的檔案)。
參考:
- Vagrant 官方文件
- [教學]使用Vagrant練習環境佈署
- 在Mac OS X上安装Virtual Box 和 Vagrant
- Vagrant 初體驗
- Ubuntu 安裝和設定 Vagrant (上)
0 則回應: