Chef中的FileEdit在Windows中出错

时间:2014-12-16 10:39:25

标签: chef

我正在尝试替换xml文件的字符串。尝试下面的食谱。没工作

ruby_block 'replace_file' do
  block do
    f= Chef::Util::File_Edit.new('C:\Chef_File_Edit\server.xml')
    f.search_file_replace(8081,8080)
    f.write_file
   end
 end

我的Moto是用8080代替8081.上面的食谱有什么问题?

2 个答案:

答案 0 :(得分:1)

使用字符串而不是整数f.search_file_replace('8081', '8080')。值得注意的是,FileEdit的使用非常高,高度不推荐使用。它导致非常脆弱的系统。使用templatecookbook_file资源来控制server.xml文件将是一个更好的解决方案。

答案 1 :(得分:1)

是的,它奏效了。我犯了两个错误。这是正确的食谱。

ruby_block 'replace_file' do
  block do
    f= Chef::Util::FileEdit.new('C:\Chef_File_Edit\server.xml')
    f.search_file_replace('8081','8080')
    f.write_file
  end
end