Vagrant 在流浪设置中呈现erb
作为配置VM的一部分,我需要在配置时创建一个配置文件。在我的主机上,我能够将变量传递到Vagrant 在流浪设置中呈现erb,vagrant,Vagrant,作为配置VM的一部分,我需要在配置时创建一个配置文件。在我的主机上,我能够将变量传递到erb文件: erb x=1 y=2 some_conf.erb 是否可以在主机上呈现erb文件,然后通过管道将结果传递给来宾 如果我将erb命令放在config.vm.provision“shell”中,则该命令将在来宾计算机(不具有Ruby)上运行,例如 #此命令在来宾服务器上运行 #我希望erb在主机上运行到哪里 config.vm.provision“shell”,内联:Vagrant文件实际上是一个
erb
文件:
erb x=1 y=2 some_conf.erb
是否可以在主机上呈现erb
文件,然后通过管道将结果传递给来宾
如果我将erb
命令放在config.vm.provision“shell”
中,则该命令将在来宾计算机(不具有Ruby)上运行,例如
#此命令在来宾服务器上运行
#我希望erb在主机上运行到哪里
config.vm.provision“shell”,内联:Vagrant文件实际上是一个ruby脚本,因此可以使用ruby erb模板引擎。确保创建模板所需的类
# -*- mode: ruby -*-
# vi: set ft=ruby :
require 'erb'
Vagrant.configure("2") do |config|
template = ERB.new File.read("template/some_conf.erb")
p template.result(binding)
end
如果您不想设置新类等,并且安装了ruby2.2,您可以直接从CLI调用erb,它将在您的主机而不是来宾机上运行
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
exec ('erb x=1 y=2 template/some_conf.erb > some_conf')
end
在主机上生成some_conf
文件后,可以使用将此文件推送到主机上
config.vm.provision "file", source: "some_conf", destination: "/somewhere/on/the/guest/some_conf"
Vagrant文件实际上是一个ruby脚本,因此可以使用ruby erb模板引擎。确保创建模板所需的类
# -*- mode: ruby -*-
# vi: set ft=ruby :
require 'erb'
Vagrant.configure("2") do |config|
template = ERB.new File.read("template/some_conf.erb")
p template.result(binding)
end
如果您不想设置新类等,并且安装了ruby2.2,您可以直接从CLI调用erb,它将在您的主机而不是来宾机上运行
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
exec ('erb x=1 y=2 template/some_conf.erb > some_conf')
end
在主机上生成some_conf
文件后,可以使用将此文件推送到主机上
config.vm.provision "file", source: "some_conf", destination: "/somewhere/on/the/guest/some_conf"
使用第一个示例,如何将输出通过管道传输到来宾上的文件?您可以使用vagrant file Provisionier,添加示例使用第一个示例,如何将输出通过管道传输到来宾上的文件?您可以使用vagrant file Provisionier,添加示例