Vagrant 包含URL中的文件或木偶脚本
我们希望使用一个标准的Vagrant配置,有几个人和几个项目。我们现在在Vagrant配置中经历了很多更新,这使得每个项目都很难保持最新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文件,其中只包含远程文件(例如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提供不同的环境数据是非常实用的