Chef:如果 git deploy 已提取新代码,如何运行操作?

Chef:如果 git deploy 已提取新代码,如何运行操作?

大多数情况下,部署到本地目录的 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

相关内容