The Tao of Vagrant

Mitchell Hashimoto

Vagrant 之道

原文由 Mitchell Hashimoto 發布,訂閱此部落格

在還沒安裝 Vagrant 或了解其運作方式之前,先理解 Vagrant 在實際工作環境中的高階工作流程是很重要的。這些原則統稱為「Vagrant 之道」。以下內容摘自Vagrant: Up and Running

在有 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 背後更宏大的願景,依然是相當重要的。

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

留言