2015-11-17 21 views
0

我們正在爲我們的AWS實例使用OpsWorks。我在git repo上使用berkshelf爲他們準備了幾本食譜。根據我的理解,自定義廚師食譜會在實例啓動時(或者您更新自定義食譜)複製到每個服務器實例。AWS Custom Cookbooks將文件複製到實例

我正在尋找一個廚師的食譜,將一個文件從git倉庫複製到服務器實例的目錄中。

一個例子是: 我的db.php文件不在我的OpsWorks應用程序的git倉庫中。我把它放在另一個git repo中,我的定製廚師食譜/食譜是。我希望能夠調用一個將採用該db.php文件並將其複製到/srv/www/app/current/config/db.php到本地實例的大廚配方。

這可能嗎?

回答

1

你想把它放在食譜的files/下,並在配方代碼中使用cookbook_file資源。如果您想動態生成一些資源,您也可以使用template資源。

+0

這工作得很好。但是,Chef的cookbook_file文檔聲明文件可以位於文件/目錄中。 AWS OpsWorks Chef不會使用文件/的根目錄中的任何文件。它需要在文件/默認/或文件/ ubuntu /。 – hiddenicon

+0

在Chef 12.0中添加了對'default /'位的丟棄支持,Linux上的OpsWorks仍然運行11.x。 Laaaaaame,但它如此。 – coderanger

0

有一個remote_file資源。

但我不認爲從回購直接獲取一個文件是一個好主意。 最好在計算機上克隆該回購併簽出特定的修訂版。其他選項是將給定的文件放在S3上並定期更新。

相關問題