从URL包含Vagrantfile或Puppet脚本

时间:2015-06-23 14:24:00

标签: vagrant puppet vagrantfile

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

完美的情况是使用只包含远程文件的Vagrantfile(例如Github上的URL,文件可以是公共的)。这可能与Vagrantfile或puppet清单文件一起使用吗?

2 个答案:

答案 0 :(得分:0)

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|

P.S。我怀疑,您只想在配置即将发生时下载文件,所以请查看this question

答案 1 :(得分:0)

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

我建议您使用 Failed to run spark-submit executable: java.io.IOException: Cannot run program "spark-submit": error=2, No such file or directory 和傀儡代码直接将所有代码签入github(或其他人)。

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

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