天天看點

Vagrant 中高效的 Puppet 子產品管理 【已翻譯100%】

到現在我還記得首次嘗試使用vagrant和puppet這兩個工具來準備本地開發環境時候的場景。找出适當的方式來捆綁puppet子產品與項目後一切都是很容易做到。基本上它可以通過三步階段來實作。

1.運作"puppet module install "并将它們添加到 git repo (不是最棒的主意但相對簡單)。

2.在項目中把puppet子產品作為 git 的子子產品添加好。這原來是更加麻煩,添加/删除/更新子產品成為了真正的痛苦。

3.作為它們的依賴項 使用 puppet-librarian來 管理 puppet 子產品。

第三個選項應該是最好的方法啦...我們可以現在隻需簡單地在“puppetfile”裡面就可以添加、 删除或者更新“puppet”的子產品版本,運作"librarian-puppet install"功能就可以安裝好子產品。但有一點要警告說明的是使用者隻在他們自己的主控端器上安裝“rubygems”打包系統會帶來其他的麻煩。既然這樣當這種情況發生且必須要馬上被處理的時候使用者為什麼不能隻在vagrant盒子裡面安裝那些子產品?

向虛拟機中的項目根路徑裡面增加“puppetfile”檔案和安裝當運作“puppet”應用時指向子產品目錄的子產品時,這種方法都是有效的。而且無論開發者熟悉“rubygems”打包系統與否和在跨多種應用環境時都能保持同樣的安裝效果,這種方法也同樣作用很大。