
大多数情况下,部署到本地目录的 git repo 中没有任何新内容,但如果有任何更改,则应重新启动 node.js 应用程序以开始使用最新更改。如果没有提取新代码,则不应对其进行修改。
如何通过厨师实现这一目标?
答案1
sync
如果修订版本发生变化,git操作实际上会触发通知。因此,添加一个仅在通知时运行的执行块,您就大功告成了!
git "/home/code" do
...
action :sync
notifies :run, "execute[restart-node-app]", :immediately
end
execute "restart-node-app" do
command "..."
action :nothing
end