我怎样才能获得有关潜在Vagrant盒子的信息?

时间:2016-09-27 14:38:23

标签: build vagrant development-environment

我需要创建一个记录清晰且可重现的开发环境。我正在攀爬Vagrant学习曲线(与VirtualBox一起使用),它是完美的工具。能够输入

$ vagrant init ubuntu/trusty64
$ vagrant up

并准备好一个VM是惊人的和强大的。我用我所需要的工具制作了一个Vagrantfile,生活似乎很好。

除了...... 这是一个很大的问题。 Vagrant旨在处理可用的框和版本的详细信息,它们来自哪里,有什么不同等等,以便向用户隐藏“魔力”。这对初学程序员来说非常好,但在专业的开发环境中,这可能是致命的:如果一个盒子意外更新,或者如果我的同事得到一个不同的盒子,那么构建可能会以极其微妙的方式破坏。作为一名经验丰富的开发人员,我知道这种方式是疯狂的。

我知道Hashicorp Vagrant atlas,但它仍然只是在巨大的网页上列出版本,没有关于差异的信息。我也知道获取Atlas URL并添加.json后缀的黑客行为,例如....

...但这至少是一个kludge,因为追踪它的后方是一种痛苦,JSON格式不适合人们解释,而且仍然没有关于什么的信息从版本更改为版本。

下载ubuntu / trusty64时,我甚至开火Wireshark来观看Vagrant的流量。大部分流量都是加密的,但我确实发现虽然Vagrant CLI将方框网址打印为https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20160919.0.1/providers/virtualbox.box,但该框实际上是从http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box下载的。而且,盒子文件的标题包含了许多关于盒子将要模拟的有趣信息(磁盘分区,处理器等等)。

毋庸置疑,我不应该这样做。 Vagrant CLI应该提供有关已命名但尚未下载的框的信息:

  • 框的描述
  • 可用版本列表
  • 与之前版本相比,添加了哪些特定版本
  • 托管特定版本的地方
  • 该框的配置将是
  • 谁创造了它
  • 等,等等,

那么,是否有官方方法可以获取已命名的尚未下载的盒子的此类信息?

0 个答案:

没有答案