我在 ( migrate.rb
) 下面有一个配方,它作为我们部署的一部分运行并且运行良好。
然而,我无法锻炼的一件事是如何设置它,以便它也可以作为execute_recipe
命令中的独立配方运行。
就目前而言,如果我们单独执行这个配方,那么什么也不会发生,因为node[:deploy].each
没有任何东西可以循环(部署密钥不存在)..
唯一真正依赖部署节点的部分是这一行cwd "#{deploy[:deploy_to]}/current"
,因为我需要知道代码部署到哪里。
node[:deploy].each do |application, deploy|
execute 'DB migrate then seed' do
cwd "#{deploy[:deploy_to]}/current"
command 'php artisan migrate; while read -r line || [ -n "$line" ]; do php artisan db:seed --class="$line"; done < "app/database/run.list"'
end
end