vube / vagrant-boxer
为 Vagrant 创建可重用的基础箱
0.6.1
2015-03-10 23:25 UTC
Requires
- php: >=5.3.2
- vube/php-filesystem: @stable
Requires (Dev)
- mikey179/vfsstream: ~1.4
- phpunit/phpunit: ~4.3@stable
- satooshi/php-coveralls: dev-master
README
应用用于管理将 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