基于Vagrant进行协作开发

少于 1 分钟阅读

% 基于Vagrant进行协作开发
% jacky wu
% 2015-03-31

Contact me

或者用邮件交流 jacky.wucheng@foxmail.com

需求

  • 团队协作开发
  • 有独立的物理机,但是为了节约资源使用VM来创建开发环境
  • 为了开发方便,有需求在各自的Laptop上进行本地开发,然后将代码同步到测试机
  • 共享分发box,便于调试

共享服务器

用FTP创建共享目录,来存储vagrant environment和box。目录结构可以参考

    
    /vagrant-env/
    └── registry
        ├── centos65-db
        │   ├── a.log
        │   └── Vagrantfile
        │   └── db-1.0.box
        │   └── db-2.0.box
        ├── centos65-salt-cluster
            ├── salt
            ├── salt-1.0.box
            ├── salt-2.0.box
            └── Vagrantfile

打包

使用 vagrant package 命令打包,使用 vagrant push推送到共享服务器。1

分发

使用vagrant push,根据文档2 配置好后,直接将本地命名好的box文件推送即可。 同时本地的代码也一起被推送,当然可以指定文件和目录,也可以排除。

但是1.7.2版本的vagrant的ftp push有bug,会导致重复创建目录而使得上传失败。 我在这里修复了此bug,http://jackywu.github.io/articles/ftp-bugfix-for-vagrant/

导入

在测试机上,或者将box通过ftp下载回laptop后,

vagrant box add file_to_box 导入即可. 3

参考

  • https://github.com/jackywu
  • https://github.com/jackywu/puppet_vsftpd