У меня есть приложение rails, и я хотел бы изменить файл ./config/environment/production.rb, чтобы иметь другую конфигурацию в зависимости от того, что я хочу, чтобы этот сервер делал.
Итак, я захожу в файл .rb из файла .pp и меняю некоторые строки, а затем перезапускаю службу. Это просто кажется мне очень плохой формой. Есть лучший способ это сделать? Меня попросили доставить 1 RPM и изменить конфигурацию через puppet, так что...
class Cloud-widget($MServer, $GoogleEarthServer, $CSever) {
package { "Cloud-widget":
ensure => installed
}
service { "Cloud-widget":
ensure => running,
}
<%
file_names = ['./config/environment/production.rb']
file_names.each do |file_name|
puts text.gsub(/.*config.mserver(.*)/, "config.mserver_root = \"#{$Merver}\"")
puts text.gsub(/.*config.google_earth_url(.*)/, "config.google_earth_url( = \"#{$GoogleEarthServer}\"")
puts text.gsub(/.*config.cserver_base_url(.*)/, "config.cserver_base_url = \"#{$CServer}\"")
end
File.open(file_name, "w") {|file| file.puts output_of_gsub}
%>
service { Cloud-widget:
ensure => running,
subscribe => File["./config/environment/production.rb"],
}
}