vube/vagrant-boxer

为 Vagrant 创建可重用的基础箱

0.6.1 2015-03-10 23:25 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:24:04 UTC


README

Build Status Coverage Status Latest Stable Version Dependency Status

应用用于管理将 Vagrant 虚拟机打包为用于私有箱分发系统的基础箱。

一个完整的示例可以在以下位置找到: vagrant-boxer-example

功能

  • 自动将虚拟机打包成可重用的基础箱,以便其他 Vagrant 配置使用。

  • 自动创建/更新 vagrant-catalog 的 metadata.json 文件,以便您可以运行自己的私有内部 Vagrant Cloud。

  • 自动上传虚拟机箱镜像和元数据文件到您的文件服务器。

安装

要安装,克隆此仓库并将它放在您想要的位置。

$ git clone https://github.com/vube/vagrant-boxer
$ cd vagrant-boxer
$ composer update

然后您可以可选地创建一个符号链接,例如 /usr/local/bin/boxer.php,这样就可以通过输入 boxer.php 来运行。

$ sudo ln -sf /path/to/vagrant-boxer/boxer.php /usr/local/bin/boxer.php

示例用法

vagrant-boxer 可以通过命令行开关或使用 boxer.json 配置文件来使用。以下是两种方法的示例。

通过命令行使用

请注意,以下 {BASENAME} 应替换为您 VirtualBox 列表中的虚拟机名称。

$ boxer.php --verbose --base "{BASENAME}" --boxer-id "your-company/{BASENAME}"  --major-version 1.0 --url-prefix "http://your-file-server.com/" --upload-base-uri "username@your-file-server.com:/path/to/docroot"

注意:如果您系统上没有 rsync,可以在命令行上设置 --upload-method scp 标志,使用 scp 代替。您可以将任何命令传递到这里,形式为 command src1..srcN destination

通过 boxer.json 使用

这里同样,{BASENAME} 应替换为您 VirtualBox 列表中的虚拟机名称。

使用 boxer.json 运行 boxer.php

$ boxer.php --verbose --config-file /path/to/boxer.json

boxer.json 的内容

{
    "vm-name": "{BASENAME}",
    "boxer-id": "your-company/{BASENAME}",
    "version": "1.0",
    "download-url-prefix": "http://your-file-server.com/",
    "upload-base-uri": "username@your-file-server.com:/path/to/docroot"
}

依赖项

  • PHP 5.3.2+
  • Composer