加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

访问ruby块内的厨师资源

发布时间:2020-12-16 19:12:24 所属栏目:百科 来源:网络整理
导读:我一直试图在厨师文档和谷歌中找到答案,但我无法想出任何东西.我不是一个ruby家伙,所以答案可能源于我接近“厨师足够ruby”的问题.这就是我想要做的事情:在我的部署资源中,在before_migrate属性中,我想在我当前的配方中执行资源.我目前正在做的是将资源填充
我一直试图在厨师文档和谷歌中找到答案,但我无法想出任何东西.我不是一个ruby家伙,所以答案可能源于我接近“厨师足够ruby”的问题.这就是我想要做的事情:在我的部署资源中,在before_migrate属性中,我想在我当前的配方中执行资源.我目前正在做的是将资源填充到块本身,但我知道必须有更好的方法来实现它.
before_migrate do

    template "#{app_root}/#{applet_name}/local_settings.py" do
        source "local_settings.py.erb"
        owner app_config['user']
        group app_config['group']
        variables(
            :database_name => app_config['postgresql']['database_name'],:user => app_config['postgresql']['user'],:password => app_config['postgresql']['password']
        )   
        action :create
    end 
end

我的目标是什么

before_migrate do
    "template #{app_root}/#{applet_name}/local_settings.py".execute
end

所以我可以重复使用该模板代码.谢谢!

解决方法

您可以使用“无”操作指定“部署”资源之外的资源,然后在* before_migrate *中执行以下操作:
before_migrate do

        ruby_block "notify_template" do
            block do
              true
            end
            action :create
            notifies :create,"template[#{app_root}/#{applet_name}/local_settings.py]",:immediately
        end

     end

这样,您可以在需要时通知它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读