首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在提供者之前执行厨师模板(ark)

在提供者之前执行厨师模板(ark)
EN

Stack Overflow用户
提问于 2014-01-28 13:31:10
回答 1查看 408关注 0票数 2

我正在开发一本菜谱,其中使用了ark和一些其他模板文件。

我的主要问题是模板文件是在执行方舟之前创建的.因此,在执行食谱时,应该放置文件的目录不存在。

如何只在ark完成后才执行模板?

下面是食谱的代码:

代码语言:javascript
复制
version = node['tomcat']['version']
major_version = version[0]
download_url = "http://archive.apache.org/dist/tomcat/tomcat-#{major_version}/v#{version}/bin/apache-tomcat-#{version}.tar.gz"

user node['tomcat']['user'] do
    comment "Tomcat user"
    system true
    shell "/bin/false"
    home node['tomcat']['install_dir']
end

ark 'tomcat' do
    url download_url
    version version
    prefix_root node['tomcat']['install_dir']
    home_dir node['tomcat']['install_dir'] + "/tomcat"
    owner node['tomcat']['user']
end

template '/etc/init.d/tomcat' do
    source "tomcat.init.redhat.erb"
    owner "root"
    group "root"
    mode "0774"
    variables(:name => major_version)
end

service 'tomcat' do
  supports :restart => true, :reload => true, :status => true
  action [:enable, :start]
end

template node['tomcat']['install_dir'] + "/tomcat/conf/default" do
    source "default.erb"
    owner node['tomcat']['user']
    group node['tomcat']['user']
    mode "0644"
    variables(:tomcat => node['tomcat'].to_hash)
    notifies :restart, "service[tomcat]"
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-28 15:37:06

就像你通知tomcat重启一样。

代码语言:javascript
复制
ark 'tomcat' do
  # ...
  notifies :create, 'template[/etc/init.d/tomcat]', :immediately
end

然后确保将action :nothing内联添加到模板资源中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21406943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档