2017-03-07 28 views
0

我正在使用git資源克隆並保持我的應用程序庫與chef.最新如果有什麼變化,我在本地建立我的文物,但是,我也想reload我的服務,所以變化可以應用。我正在考慮使用subscribe,但我不確定。我怎樣才能做到這一點?如何與廚師建立工件並重新加載服務?

.. # create application user/group/directories 

git node['mvp']['home'] do 
    repository node['mvp']['repository'] 
    revision 'master' 
    user 'mvp' 
    group 'mvp' 
    action :sync 
    notifies :run, 'execute[build]', :immediately 
end 

# builds only if necessary/changes 
execute 'build' do 
    user "mvp" 
    command 'make libs && make clean all' 
    cwd node['mvp']['home'] 
    action :nothing 
end 

template '/etc/mvp_frontend' do 
    owner 'root' 
    group 'root' 
    mode '0600' 
    source 'mvp_frontend_env.erb' 
end 

directory '/etc/systemd/system/mvp.service.d' do 
    owner 'root' 
    group 'root' 
    mode '0755' 
end 

%w(mvp_frontend mvp_quote mvp_newsfeed).each do |srvc| 
    template "/etc/systemd/system/#{srvc}.service" do 
    owner 'root' 
    group 'root' 
    mode '0755' 
    source "#{srvc}.service.erb" 
    end 

    service "#{srvc}" do 
    supports :status => true, :stop => true, :restart => true, :reload => true 
    action [:enable, :start] 
    subscribes :reload, "template[/etc/systemd/system/#{srvc}.service]", :immediately 
    end 
end 
+0

你可以使用'訂閱'或'通知',沒關係。您也可以在1資源中擁有其中的幾個。問題是什麼? –

回答

0

你的例子訂閱的模板更新,你可能想訂閱git的資源,而不是(或者也許是執行,但我不會走那麼遠)。

相關問題