vagrant安装程序virtualbox名称和json文件中的box版本
我们的项目中有一个Vagrantfile,它被配置为获取元数据json作为box\u url 在这个元数据json中,我们列出了所有可用的框(不同的版本和/或提供者),如下所述 如果我们执行vagrant安装程序virtualbox名称和json文件中的box版本,vagrant,virtualbox,Vagrant,Virtualbox,我们的项目中有一个Vagrantfile,它被配置为获取元数据json作为box\u url 在这个元数据json中,我们列出了所有可用的框(不同的版本和/或提供者),如下所述 如果我们执行vagrant up,那么vagrant将创建一个名为\u default\u 我现在设置了一个自定义VirtualBox名称,如下所示: config.vm.provider "virtualbox" do |vb| vb.name = "my-project (centos-67-x64)" end
vagrant up
,那么vagrant将创建一个名为\u default\u
我现在设置了一个自定义VirtualBox名称,如下所示:
config.vm.provider "virtualbox" do |vb|
vb.name = "my-project (centos-67-x64)"
end
但我想要以下virtualbox名称:
我的项目(centos-67-x64)-1.0.0
版本应来自metadata.json中的version属性
有可能吗?
我没有找到关于这个主题的信息,我想知道,没有其他用户有这个问题。如果我理解得很好,那就是从ruby读取json文件 以您所指的示例为例,metadata.json文件如下
{
"name": "hashicorp/precise64",
"description": "This box contains Ubuntu 12.04 LTS 64-bit.",
"versions": [{
"version": "0.1.0",
"providers": [{
"name": "virtualbox",
"url": "http://somewhere.com/precise64_010_virtualbox.box",
"checksum_type": "sha1",
"checksum": "foo"
}]
}]
}
require 'json'
file = File.read('metadata.json')
data_hash = JSON.parse(file)
version = data_hash['versions'][0]['version']
Vagrant.configure(2) do |config|
<blablabla>
config.vm.provider "virtualbox" do |vb|
vb.name = "my-project (centos-67-x64) - " + version
end
end
因此您需要版本
信息。那么流浪者的档案会是这样的
{
"name": "hashicorp/precise64",
"description": "This box contains Ubuntu 12.04 LTS 64-bit.",
"versions": [{
"version": "0.1.0",
"providers": [{
"name": "virtualbox",
"url": "http://somewhere.com/precise64_010_virtualbox.box",
"checksum_type": "sha1",
"checksum": "foo"
}]
}]
}
require 'json'
file = File.read('metadata.json')
data_hash = JSON.parse(file)
version = data_hash['versions'][0]['version']
Vagrant.configure(2) do |config|
<blablabla>
config.vm.provider "virtualbox" do |vb|
vb.name = "my-project (centos-67-x64) - " + version
end
end
require'json'
file=file.read('metadata.json')
data_hash=JSON.parse(文件)
version=数据\u散列['versions'][0]['version']
Vagrant.configure(2)do | config|
config.vm.provider“virtualbox”do | vb|
vb.name=“我的项目(centos-67-x64)-”+版本
结束
结束
您是否尝试过设置vb.name=“我的项目(centos-67-x64)”+config.vm.box\u版本