【问题标题】:Automatically restart the daemons in chef cookbooks when new recipes are applied应用新食谱时自动重启厨师食谱中的守护进程
【发布时间】:2016-11-29 17:05:42
【问题描述】:

我是厨师的初学者。我有一个项目托管在 Engineyard 中,里面有厨师食谱。现在的要求是在上传新配方并将其应用于守护程序时自动重新启动特定的守护程序。

如何获取有关何时应用配方的信息?食谱中的版本对我有帮助吗?

使用部署挂钩是一个不错的选择吗?如果是这样,我该如何实现特定文件已更新的条件并仅在它已更改时才执行重启?

【问题讨论】:

    标签: ruby-on-rails automation chef-infra restart chef-recipe


    【解决方案1】:

    任何与服务相关的资源(通常是一个或多个用于配置的template 资源,也可能是package 资源)将被设置为发送通知以重新启动与守护进程对应的service 资源。这通常看起来像这样:

    package 'thingy' do
      notifies :restart, 'service[thingy]'
    end
    
    template '/etc/thingy.conf' do
      source 'thingy.conf.erb'
      notifies :restart, 'service[thingy]'
    end
    
    service 'thingy' do
      action [:enable, :start]
    end
    

    【讨论】:

    • 如何使用部署挂钩?
    • 那些不是你应该使用的东西,假设你的意思是来自deploy资源的东西。
    猜你喜欢
    • 2019-01-29
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多