[关闭]
@gabe 2017-02-20T13:58:59.000000Z 字数 1287 阅读 4057

使用Vagrant打造统一的开发环境

Vagrant 开发 环境 团队

原文链接

目前现状

开发环境不一致,Mac,Windows,Linux,虚拟机,服务器...
导致安装升级维护浪费很多时间,不同职责的开发人员互相之间的运行环境很难复用

WHY VAGRANT?

看图

安装Vagrant

下载,点击安装即可,安装完成后在终端输入 vagrant测试是否安装成功。
安装 virtualbox 。

开始

  1. $ mkdir vagrant_php
  2. $ vagrant init hashicorp/precise32
  3. $ vagrant up
  4. $ vagrant package --output intv_ubuntu.box #打包当前环境,会在当前目录下生成一个intv_ubuntu.box

基础概念

box

是对Vagrant对虚拟机镜像(image)的封装。

  1. $ vagrant box --help #
  2. $ vagrant box list #查看本机的所以box
  3. $ vagrant box add yourboxname basebox #将basebox添加到本机的box中
  4. $ vagrant box remove boxname #移除某个box
  5. $ vagrant repackage boxname virtualbox 0 #需要是vagrantcloud上的box

https://atlas.hashicorp.com/boxes/search

配置文件 Vagrantfile

常用配置

配置端口映射
  1. config.vm.network "forwarded_port", guest: 80, host: 8080
同步目录
  1. config.vm.synced_folder "data/", "/srv/website"

provision

  1. config.vm.provision "shell", inline: <<-SHELL
  2. echo 'hello vagrant'
  3. SHELL

载入配置

  1. $ vagrant reload --provision

配置多个vm

  1. config.vm.define("web") do |config|
  2. config.vm.box = "apache"
  3. end
  4. config.vm.define("db2") do |config|
  5. config.vm.box = "mysql"
  6. end

Vagrant Share

  1. $ vagrant share #需要注册 ,可以通过URL访问
  2. $ vagrant share --ssh #可以远程ssh , 如:vagrant connect --ssh shining-shrew-6248

高级用法

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注