Vagrant 包含URL中的文件或木偶脚本

Vagrant 包含URL中的文件或木偶脚本,vagrant,puppet,vagrantfile,Vagrant,Puppet,Vagrantfile,我们希望使用一个标准的Vagrant配置,有几个人和几个项目。我们现在在Vagrant配置中经历了很多更新,这使得每个项目都很难保持最新 最理想的情况是使用Vagrant文件,其中只包含远程文件(例如Github上的URL,该文件可以是公共的)。Vagrantfile或puppet清单文件可以这样做吗?Vagrantfile是一个Ruby文件。您可以编写实际的Ruby代码并执行它 比如 require "open-uri" File.open('puppet_script.pp', 'w')

我们希望使用一个标准的Vagrant配置,有几个人和几个项目。我们现在在Vagrant配置中经历了很多更新,这使得每个项目都很难保持最新


最理想的情况是使用Vagrant文件,其中只包含远程文件(例如Github上的URL,该文件可以是公共的)。Vagrantfile或puppet清单文件可以这样做吗?

Vagrantfile
是一个Ruby文件。您可以编写实际的Ruby代码并执行它

比如

require "open-uri"

File.open('puppet_script.pp', 'w') do |f|
  f.write open("http://here.goes.url/to/the/script.pp").read 
end
Vagrant.configure(2)do | config |


另外,我怀疑您只想在即将进行资源调配时下载该文件,所以请看一下Vagrantfile是一个Ruby文件。您可以编写实际的Ruby代码并执行它

比如

require "open-uri"

File.open('puppet_script.pp', 'w') do |f|
  f.write open("http://here.goes.url/to/the/script.pp").read 
end
Vagrant.configure(2)do | config |


另外,我怀疑您只想在即将进行资源调配时下载文件,所以请看一下这是一个解决方案,但我不喜欢@Alik提供的方式

我建议您直接使用
Vagrantfile
和puppet代码将所有代码签入github(或其他)

对于您的开发人员,您需要让他们运行
git pull
以获得更新。管理代码更改将更容易


对于puppet清单文件,您不应该经常更改它们。使用层次结构yaml文件为vagrant/dev/stag/prod提供不同的环境数据对于大多数项目来说都非常实用。

这是一个解决方案,但我不喜欢@Alik提供的方式

我建议您直接使用
Vagrantfile
和puppet代码将所有代码签入github(或其他)

对于您的开发人员,您需要让他们运行
git pull
以获得更新。管理代码更改将更容易

对于puppet清单文件,您不应该经常更改它们。对于大多数项目来说,使用层次结构yaml文件为vagrant/dev/stag/prod提供不同的环境数据是非常实用的