缓存Vagrant的下载

时间:2017-10-30 15:35:00

标签: vagrant vagrant-provision

我正在寻找为Vagrant环境缓存安装文件的原因,假设已从vagrant box add正确填充了框。我们的想法是能够在初始下载步骤之后在离线环境中测试/开发盒子配置,或者节省下载相同节点副本的相同工件的时间(例如,如果我想运行10个相同的从属)。

我不知道如何以“正确”的方式实现这一目标。我最初的想法是将必要的文件下载到Vagrant项目到共享文件夹,并在配置期间使用这些文件(因此我不需要为每个框重复curl / wget)。

1 个答案:

答案 0 :(得分:0)

我写道:

$share = "share"

Dir.mkdir($share) unless Dir.exist?($share)

# https://pkg.jenkins.io/debian/
$jenkins_deb_url = "https://pkg.jenkins.io/debian/binary/jenkins_2.86_all.deb"
$jenkins_deb_file = $share+"/jenkins.deb"

if ! File.exist?($jenkins_deb_file)
  require 'open-uri'
  download = open($jenkins_deb_url)
  IO.copy_stream(download, $jenkins_deb_file)
end

它并不完美,我无法可靠地自动下载apt-get install依赖项(这是满足Jenkins依赖性所必需的)以使其完全脱机。