OpsWorks - 自定义食谱中包含的内容
Posted
技术标签:
【中文标题】OpsWorks - 自定义食谱中包含的内容【英文标题】:OpsWorks - what to include in custom cookbook 【发布时间】:2013-07-29 02:21:06 【问题描述】:我是 Chef 和 AWS OpsWorks 的新手。
我想创建一个自定义说明书,以便在生产中预编译资产并使用when gem 设置cron 作业。
我发现了一些关于预编译资产的信息,我也会弄清楚 cron 部分,但我很困惑我的自定义厨师项目应该是什么样子。 它是一个完整的厨师个人项目,将取代 AWS OpsWorks 的标准食谱,因此我必须从他们的 github 存储库中复制东西? 或者我们和他们的食谱会合并吗?如果是这样,我必须至少包含哪些目录和文件,例如执行“bundle exec 每当 --update-crontab 'foo'”
是否建议仅为食谱创建第二个项目,或者我可以将厨师文件放在我的 rails 结构的子目录中而不会弄乱它?
【问题讨论】:
【参考方案1】:目前,OpsWorks 不支持单一的说明书目录样式。它可以像这样构建存储库:
delayed_job
recipes
deploy.rb
undeploy.rb
s3cmd
attributes
default.rb
recipes
setup.rb
configure.rb
templates
default
s3cfg.erb
whenever
recipes
deploy.rb
undeploy.rb
然后在堆栈设置下,在自定义食谱下,可以添加例如每当::部署下部署。对于 default.rb 配方,一次可以添加例如sphinx 而不是 sphinx::default。
在更改并推送到存储库后,必须从部署页面运行update_custom_cookbooks
命令。
【讨论】:
为了补充 Jan 的答案,如果使用 Berkshelf,还可以在存储库的根目录中添加Berksfile
。我在github.com/dmarcelino/aws-cookbook-boilerplate 创建了一个小样板项目来展示这一点。以上是关于OpsWorks - 自定义食谱中包含的内容的主要内容,如果未能解决你的问题,请参考以下文章
Opsworks 自定义厨师食谱上的 Codeigniter ci_sessions