Packer
過去兩個月來,我一直埋頭開發一項全新的專案。雖然仍有許多工作有待完成,但我認為是時候向大家分享目前的進展了。今天,我要正式發表 Packer:一款能為多個平台建立 machine images(機器映像檔) 的開放原始碼工具。
Packer 是一款 開放原始碼 工具,可用於建立 machine images,例如 AMIs、VirtualBox images、Vagrant boxes 等。Packer 使用單一可攜的輸入格式——template(範本)——來平行產生多個平台的映像檔,因此你可以一次建立完全相同的 AMIs、VMware machines 等。這解鎖了許多 有趣的使用案例。
Machine images 是一個強大的概念,但圍繞著它的既有工具,尚未跟上現代雲端基礎架構所帶來的敏捷工作流程。Packer 讓 machine image 的建立過程自動化、快速,並與所有業界標準的 DevOps 工具整合。以下是 Packer 的一些應用範例:
自動為正式環境建立 AMIs(或其他任何 machine image),也許作為持續交付流水線的一部分。
同時為正式環境建立 AMIs,並為開發環境建立幾乎完全相同的 Vagrant boxes。
以自動化、可重複的方式建置 software appliances(軟體應用裝置),或許還能支援多個平台。讓任何人在任何平台上都能輕鬆取得軟體展示或隨裝即用的映像檔,從未如此簡單。
還有 更多精彩功能! Packer 是一款通用的映像檔建置工具。圍繞它來打造各種應用的機會無窮無盡。我非常期待看到大家會如何運用 Packer。
藉由今天的發表,我誠摯邀請所有人來 試用 Packer,並 參與這個開放原始碼專案。參與的方式有很多種。其中最有趣的,或許是加入更多的 builders(建構器),也就是為特定平台建置映像檔的元件。專案目前已有數位提交者,我也期待能有更多人加入。
提醒一下:我今天發布了 Packer 的 0.1 版。這是首個版本,未來將會很快推出 大量 改進,因此在提供回饋或評價此專案時,敬請將此納入考量。還記得當初我發布 Vagrant 的 0.1 版時,它只能在 Mac 上運作、只能搭配 VirtualBox、只能執行 Ubuntu 虛擬機器,而且只能使用無伺服器架構的 Chef。然而,隨著 Vagrant 社群的壯大,其功能也不斷提升,如今這些限制都已不復存在。如果您希望在 Packer 中看到某項功能,歡迎 動手實作 或 至郵件論壇提問。
隨機一篇部落格
