本節書摘來自異步社群《puppet實戰手冊》一書中的第1章,第1.10節,作者:【英】john arundel著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
如果能夠在傳遞配置清單之前發現配置清單中的文法錯誤,那麼将是一件非常好的事。可以使用puppet parser validate指令檢查配置清單中的文法問題。
這是非常有用的。如果清單中的任何一個位置存在文法錯誤,那麼都會停止puppet在所有節點上運作,即使節點中沒有使用那部分有錯誤的配置清單。是以,檢查配置清單中的錯誤,直到問題被發現,可能引起一段時間内puppet在生産環境中無法應用變更,這可能會帶來嚴重的後果。要避免這種情況的發生,最好的方法就是在版本控制系統中使用預送出的鈎子自動進行文法檢查。
操作步驟
具體步驟如下。
1. 在puppet倉庫目錄建立一個新的hooks目錄。
<code>ubuntu@cookbook:~/puppet$ mkdir hooks</code>
2. 參考下面的内容,建立hooks/check_syntax.sh檔案(基于由puppet labs提供的腳本)。
3. 使用下面的指令給鈎子腳本設定執行權限:
<code>ubuntu@cookbook:~/puppet$ chmod a+x .hooks/check_syntax.sh</code>
4. 将下面的任務添加到rakefile檔案中:
5. 運作下面的指令:
puppet文法檢查的鈎子已添加完成。
工作原理
該check_syntax.sh腳本會阻止使用者送出任何帶有文法錯誤的檔案。
如果将hooks目錄添加到git倉庫中,任何檢出了副本的人都可以運作rake add_check任務,檢查配置清單中的文法。