2014-08-27 48 views
0

我有一個場景,我需要使用Bash腳本中的用戶輸入來替換烹飪書中屬性文件中的某些字符串。通過Bash在廚師服務器上更改Cookbook屬性文件內容

在當前的puppet設置中,這是通過在模塊文件中使用sed來完成的,因爲模塊作爲文件和文件夾存儲在文件結構中。

我該如何在廚師生態系統中複製這個?有沒有一個已知的捷徑?

或者我是否必須使用knife將文件下載爲文件,修改內容然後重新上傳以進行更改?

+1

是的,你的第二opton是最好的,刀下載「食譜」,sed的屬性文件,撞食譜版本(保持跟蹤)和刀上傳 – Tensibai 2014-08-27 10:18:00

+0

我會建議下載,修改和重新上傳新版本號)。 – arco444 2014-08-27 10:18:21

+1

你的食譜應該存儲在某個版本控制庫中。這減輕了你的痛苦;-) – StephenKing 2014-08-27 12:41:41

回答

1

不知道這是最好的辦法。正如你所說,你可以肯定地使用knife downloadsedknife upload,但更好的方法是使數據驅動。將值存儲在數據包或角色中,然後使用knife或其他API客戶端來處理這些值。然後在你的配方代碼中,你可以讀出數值並使用它們。