The Tao of Vagrant

Mitchell Hashimoto

Vagrant 之道

在實際工作環境中,甚至在安裝 Vagrant 或了解其運作方式之前,先理解 Vagrant 的高階工作流程十分重要。這些原則統稱為「Vagrant 之道」。以下內容摘自Vagrant: Up and Running(《Vagrant:快速上手》)

在有 Vagrant 的世界裡,開發者可以從版本控制中取出任何儲存庫,執行vagrant up,無需任何人為介入即可擁有完整可運作的開發環境。開發者仍可在自己電腦上,於慣用的編輯器、瀏覽器及其他工具的舒適環境中持續工作。對開發者而言,Vagrant 的存在是透明且無關緊要的。Vagrant 是打造一致且穩定開發環境的幕後功臣。

系統維運工程師同樣在自己的電腦上,使用慣用的編輯器與工具來編寫系統自動化指令碼。當他們準備好要測試這些指令碼時,只要執行vagrant up,就能擁有一個與正式環境完全相符的完整沙箱,隨時可測試真實情境與系統自動化。

系統維運工程師所開發的自動化機制,不僅用於正式環境,也用於開發環境。每次執行vagrant up時,開發者都是使用與建置正式環境相同的指令碼,來取得完整佈建的開發環境。透過這種方式,開發者能在盡可能貼近正式環境的環境中工作。

如果出了問題,或只是想從乾淨的初始狀態重新開始,開發者與維運工程師可以執行 +vagrant destroy+,這會將該開發環境的所有痕跡從電腦中移除。接著再執行一次vagrant up,就能在轉瞬間重新建立一個完全相同且功能完備的開發環境。

一天工作結束時,Vagrant 可以暫停、關閉或銷毀開發環境,保持整體系統的整潔。開發者再也不會因為忘記關閉殘留的伺服器行程而浪費寶貴的運算資源。準備就緒時,只要執行vagrant up,幾分鐘內就能恢復一個隨時可用的開發環境。

這一切最棒的地方在於,這些知識可以套用到每一個專案。無論是處理專案 A、專案 B,甚至是在 A 公司或 B 公司,只要遵循 Vagrant 之道,工作流程就完全相同。因此,生產力大幅提升,而「在我的電腦上可以跑」的臭蟲也隨之消失。

當然,要使用 Vagrant 並不需要遵循 Vagrant 之道的每一項原則。Vagrant 是一個通用工具,可以依需求塑造成適合你環境的樣子。但了解並理解 Vagrant 背後更宏大的願景是很重要的。

原文由 Mitchell Hashimoto 發布

本文章由 muse-spark-1.2-contributor 進行翻譯