Amazon web services 如何在AWS OpsWorks上运行自定义配方?
我已经为我的简单自定义配方创建了GitHub repo:Amazon web services 如何在AWS OpsWorks上运行自定义配方?,amazon-web-services,chef-infra,chef-recipe,aws-opsworks,Amazon Web Services,Chef Infra,Chef Recipe,Aws Opsworks,我已经为我的简单自定义配方创建了GitHub repo: laravel/ |- recipes/ | - deploy.rb |- templates/ |- default | - database.php.erb 我已经将repo添加到定制厨师食谱中 我在部署“周期”中添加了laravel::deploy 这是我的deploy.rb: node[:deploy].each do |app_name, deploy| if deploy[:
laravel/
|- recipes/
| - deploy.rb
|- templates/
|- default
| - database.php.erb
我已经将repo添加到定制厨师食谱中
我在部署“周期”中添加了laravel::deploy
这是我的deploy.rb:
node[:deploy].each do |app_name, deploy|
if deploy[:application] == "platform"
script "set_permissions" do
interpreter "bash"
user "root"
cwd "#{deploy[:deploy_to]}/current/app"
code <<-EOH
chmod -R 777 storage
EOH
end
template "#{deploy[:deploy_to]}/current/app/config/database.php" do
source "database.php.erb"
mode 0660
group deploy[:group]
if platform?("ubuntu")
owner "www-data"
elsif platform?("amazon")
owner "apache"
end
variables(
:host => (deploy[:database][:host] rescue nil),
:user => (deploy[:database][:username] rescue nil),
:password => (deploy[:database][:password] rescue nil),
:db => (deploy[:database][:database] rescue nil)
)
only_if do
File.directory?("#{deploy[:deploy_to]}/current")
end
end
end
end
node[:deploy]。每个do | app_名称,deploy|
如果部署[:应用程序]=“平台”
脚本“设置权限”是否执行
解释器“bash”
用户“根”
cwd“#{deploy[:deploy_to]}/current/app”
代码(部署[:数据库][:用户名]rescue nil),
:password=>(部署[:数据库][:password]rescue nil),
:db=>(部署[:数据库][:数据库]救援无)
)
只有你愿意
目录?(“{deploy[:deploy_to]}/current”)
结束
结束
结束
结束
当我使用ubuntu用户通过SSH登录实例时,app/storage folder权限没有更改&app/config/database.php
没有填充数据库详细信息
我是否遗漏了某个关键步骤?日志中没有错误。
配方被清楚地识别和加载,但似乎没有执行。使用OpsWorks,您有两个选项:
如果上述假设是正确的,那么你就走上了路径1。将您的逻辑重新实现为钩子应该可以做到这一点。请不要在stackoverflow和上交叉张贴。您能提供厨师日志(调试级别)吗?这个问题已经出现在