【问题标题】:Use Vagrant/Puppet To Download File If Not Exist如果不存在,使用 Vagrant/Puppet 下载文件
【发布时间】:2014-02-25 18:04:40
【问题描述】:

在开发我的 vagrant/puppet 脚本时,我做了很多 vagrant destroy 和 vagrant up 以确保配置工作从头开始。

出于这个原因以及带宽和时间的考虑,我将需要安装的大文件(例如不在公共存储库中的 jar)放在文件部分,然后使用 puppet 将它们从那里复制到来宾。

这对我在开发过程中非常有用,但对于其他人来说这有点障碍,因为我有一个包含大量依赖项的自述文件,需要在开始配置之前下载到主机上的某些目录。

一旦我确定我的脚本已准备就绪,我可以将它们更改为指向托管文件的内部服务器,但是,我不喜欢在最后一刻更改脚本。

是否可以让 vagrant/puppet 检查文件是否存在于主机本地,如果不存在则从指定的 URL 下载它们?

【问题讨论】:

    标签: vagrant puppet


    【解决方案1】:

    在调用 wget 的 exec 资源上使用 created 参数。

    exec {'download-tar-file':
      command => 'wget -O /tmp/tar.file http://somewhere.com/tar.file',
      creates => '/tmp/tar.file',
    }
    

    这样,exec 只会在文件不存在时触发。添加文件的一些版本控制并将您想要的版本传递给命令,便于放入较新的版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-25
      • 1970-01-01
      • 1970-01-01
      • 2014-10-24
      相关资源
      最近更新 更多