Vagrant自定义框元数据.json文件



我有一个名为package.box的自定义盒子。我在尝试流浪时遇到了这个错误,流浪盒子添加。我用不同的配置创建了一个metadata.json文件,但没有成功。我不明白这个信息。我使用virtualbox进行配置。

我不理解他们网站上关于metadata.json文件的文档。

找不到box"package.box"的"metadata.json"文件
方框需要此文件,以便Vagrant确定
它是为提供商制作的。如果您制作了盒子,请添加
"metadata.json"文件。如果是其他人制作的盒子,请
通知盒子创建者盒子已损坏。
的文档box文件格式可在以下URL中找到:
https://www.vagrantup.com/docs/boxes/format.html

package.box位于空目录中。在它旁边,我放了这个metadata.json文件:

{
    "description": "long box description",
    "short_description": "short box description",
    "name": "company/developer-environment",
    "versions": [{
        "version": "1",
        "status": "active",
        "description_html": "<p>Dev Environment</p>",
        "description_markdown": "Dev Environment",
        "providers": [{
            "name": "virtualbox",
            "url": "./package.box"
        }]
    }]
}

我使用的是ubuntu 16.04系统,流浪者1.8.5,虚拟邮箱5.0.26。

package.box文件是VM的zip文件,metadata.json文件不能在package.box文件的旁边,而是在里面。

因此,在打包盒子之前,将元数据文件存储在VM文件旁边,类似

.
|-- box-disk1.vmdk
|-- box.ovf
|-- metadata.json

因此,当您运行vagrant package时,它将包含元数据文件作为box文件的一部分。

免责声明:这不是一个答案,而是一个后续问题。

这看起来和我遇到的问题一模一样。由于我无法从Artifactory中获取元数据.json。

如何将metadata.json打包到.box文件中?

我的盒子分两步制作。

第一:生成*.vmdk*.ovf文件的基本图像

完成

"post-processors": [
    {
      "type": "artifice",
      "files": [
        "builds/{{.BuildName}}-{{.Provider}}-centos7.vmdk",
        "builds/{{.BuildName}}-{{.Provider}}-centos7.ovf"
      ]
    },
    {
      "type": "vagrant",
      "keep_input_artifact": true,
      "provider_override": "virtualbox"
    }
  ]

第二:我将web应用程序安装到映像中,并生成*.box文件。

完成日期:

"post-processors": [
    [
      {
        "output": "builds/devbox.box",
        "type": "vagrant"
      }
    ]
  ]

相关内容

  • 没有找到相关文章

最新更新