AWS Custom Cookbooks 将文件复制到实例

AWS Custom Cookbooks Copy File to instance

我们正在为我们的 AWS 实例使用 OpsWorks。我在 git 存储库中有几本食谱,它们都使用 berkshelf。据我了解,自定义厨师食谱会在实例启动时(或您更新自定义食谱)复制到每个服务器实例。

我正在寻找一个厨师食谱,它将文件从 git 存储库复制到服务器实例的目录中。

例如: 我的 db.php 文件不在我的 OpsWorks 应用程序的 git 存储库中。我把它放在我的定制厨师 cookbooks/recipes 所在的另一个 git 仓库中。我希望能够调用将获取 db.php 文件并将其复制到 /srv/www/app/current/config/db.php 到本地实例的厨师食谱。

这可能吗?

您想将其放在食谱中的 files/ 下,并在您的食谱代码中使用 cookbook_file 资源。如果你想动态生成它的一些片段,你也可以使用 template 资源。

有一个 remote_file 资源。

但我不认为直接从 repo 获取一个文件是个好主意。 最好在机器上克隆该 repo 并检查特定修订。另一种选择是将给定文件放在 S3 上并定期更新。