
包裝 app 來部署 |
145
用 Packer 為多雲端建立機器映像
Packer(
https://www.packer.io/
)是 HashiCorp 提供的開放原始碼工具,可以用單一來源
組態為多個平台建立完全相同的機器映像。Packer 的體積小、使用命令列,可在每一種
主流作業系統上運行,而且性能優異,可以平行地為多個平台建立機器映像。Packer 可
以使用 shell 腳本或 Ansible、Chef、Puppet 等組態管理工具來提供映像。Packer 將機器
映像定義成單一靜態單元,裡面有預先設置的作業系統,以及安裝好的軟體,可用來快
速建立新的運行機器。機器映像會幫每一個平台格式化變動,例子包括 EC2 的 AMI、
VMware 的 VMDK/VMX 檔案,以及 VirtualBox 的 OVF 匯出。
用 Packer 保持開發 / 生產的一致
Packer 可讓開發、預備與生產環境盡量相似,這絕對是一件好事,可讓你更相
信在開發與預備環境執行的測試,足以傳達在生產環境中的行為。
Packer 有一種實用的功能:它可以同時為多個平台產生映像。所以如果你在生
產環境使用 AWS,在開發環境使用 VirtualBox(或許還有 Vagrant),可以用
Packer 以同一個模板生成 AMI 與 VBox 機器。如果你在持續交付管道中使用
它,就有一個優秀的系統,從開發到生產都有一致的工作環境。
你可以用多數的作業系統安裝程式來安裝 Packer,或參考 Install Packer ...