簡単なカスタム レシピの GitHub リポジトリを作成しました。
laravel/
|- recipes/
| - deploy.rb
|- templates/
|- default
| - database.php.erb
https://github.com/minkruben/Laravel-opsworks.gitとしてリポジトリを Custom Chef Recipes に追加しました
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
ubuntu ユーザーを使用して SSH でインスタンスにログインすると、アプリ/ストレージ フォルダーのアクセス許可が変更されapp/config/database.php
ず、データベースの詳細が入力されません。
どこかで重要なステップが欠落していますか? ログにエラーはありません。レシピは明確に認識されて読み込まれますが、実行されていないようです。