【问题标题】:Replace a line in a dynamic file using chef使用厨师替换动态文件中的一行
【发布时间】:2018-06-30 00:34:57
【问题描述】:

在 chef 客户端运行期间,它将 ruby​​ 安装为 2.4.0 版的预定义包 我需要在运行我的任何接收之前更新文件 我在recepe下面添加了,但看起来它不起作用有人能帮忙吗? ruby_block 'no_proxy_fix' do block do fe = Chef::Util::FileEdit.new('/opt/chef/embedded/lib/ruby/2.4.0/uri/generic.rb') fe.search_file_replace("IPAddr.new(host)", "IPAddr.new(host).include?(self.host)") fe.search_file_replace("end.include?(self.host)", "end") fe.write_file end end 我需要替换以下值

IPAddr.new(host)IPAddr.new(host).include?(self.host)

end.include?(self.host)end

【问题讨论】:

    标签: ruby proxy chef-infra cookbook


    【解决方案1】:

    FileEdit 是 Chef 的内部 API,您不能在配方代码中使用它(阅读:不支持)。请改用linepoise-file 食谱。

    【讨论】:

    • 是的,我也试过 search_file_replace_line,但没用
    • line 是一个社区食谱,它的工作方式非常不同,你必须决定你喜欢这两个社区食谱中的哪一个。
    猜你喜欢
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 2015-07-26
    相关资源
    最近更新 更多