[英]Rails application deployment using chef cookbook
我正在尝试使用厨师食谱git部署Rails应用程序。
这是我用来从github克隆私人仓库的代码示例。
git "/var/www/hello_app" do
repository "git://github.com/MyUser/MyProject.git"
reference "master"
action "sync"
user "gituser"
end
我关心的是如何运行捆绑包更新/捆绑包安装和进行预编译。
还要启动unicorn Web服务器,我还检查了厨师文档的部署资源。
我正在探索完成它的其他方法,
请帮我
最好的办法是使用通知,但通知不是很可靠(因为任何失败都涉及修改应用程序目录,以便在下次运行时更新git资源)。
就像是 :
execute "bundle_install" do
cwd "/var/www/hello_app"
command "bundle install"
action :nothing #To avoid executing at each run
end
git [....] do
[...]
notifies :run,"execute[bundle_install]", :immediately
end
每个执行可以依次通知另一个执行,最后一个可以通知服务重启,例如。
您可能有更好的机会使用应用程序 cookbook和application_ruby(请参阅链接中的自述文件)。
那些菜谱也具有部署前和部署后钩子以及重新启动命令钩子,它们(IIRC)可以适应步骤失败,并且如果失败则可以在下一次运行时重试。
我将使用部署资源或应用程序指南。 在任何一种情况下, bundle install
都将引起您的注意。 我相信deploy资源实际上具有precompile_command
的属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.