前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开发环境利器vagrant

开发环境利器vagrant

作者头像
JavaQ
发布2018-04-04 16:32:09
7870
发布2018-04-04 16:32:09
举报
文章被收录于专栏:JavaQJavaQ

引言

团队合作的编码过程中,有时会因为个人开发环境的不同,而出现“代码在我的机器上运行没问题,在别人的机器上有问题”的情况。团队有新人加入时,需要为准备开发环境而浪费时间,并且准备的环境并不那么的统一,或者是版本不同,或者是参数配置不同。这些问题,vagrant都可以解决。Vagrant是一款用来构建虚拟开发环境的工具,可用于统一团队开发环境,避免环境不一致导致的莫名错误,非常适合团队合作开发。Vagrant使用Ruby开发,基于VirtualBox等虚拟机管理软件的接口,提供了一个可配置、轻量级的便携式虚拟开发环境,同时,它还可以用于模拟分布式环境。

安装VirtualBox

vagrant底层支持VirtualBox、VMware甚至AWS作为虚拟机系统,所以在安装vagrant之前,需要先安装虚拟机,推荐使用VirtualBox,它小巧便捷,关键是免费。安装过程很简单,一步一步根据引导安装即可。下载地址:https://www.virtualbox.org/wiki/Downloads/。

安装vagrant

vagrant的安装也很简单,根据引导一步一步安装即可完成,下载地址:http://www.vagrantup.com/downloads.html。安装完成后,打开终端命令行,输入vagrant校验是否安装成功,若安装成功,有如下图输出。

若未正常输出,检查Path是否正确设置了vagrant所在的路径。

添加box

先解释一下box,在vagrant中,box就是一个包含可运行的操作系统及软件的镜像包。box支持在线添加和本地添加两种方式。本地添加需要将box下载到本地后再添加,这种方式可以加快box的添加,推荐这种方式。vagrant社区中提供了很多可供使用的box,可以到https://atlas.hashicorp.com/boxes/search查询及下载所需要的box,http://www.vagrantbox.es/中提供了可在线添加的box,当然也可以自己制作box。

在添加box之前,推荐将当前路径切换到一个独立的路径,该路径可以是原有的,也可以是新建的,只要是单独给vagrant使用即可,如将box下载到vagrant目录下。

使用如下命令添加:

vagrant box add {title} {url}

vagrant box add是添加box的命令,title是给添加的box起的名,如果是本地添加,url是本地包的路径,如果是在线添加,url是网络上box的url,示例如下,

在线添加:

vagrant box add centoshttp://tag1consulting.com/files/centos-5.9-x86-64-minimal.box

本地添加:

vagrant box add ubuntu ubuntu.box //需要确保ubuntu.box在当前路径下

vagrant初始化

初始化命令如下:

vagrant init {boxName}

boxName是添加box时起的名称,例如vagrant init ubuntu。初始化完成后,会在当前路径下生成一个Vagrantfile文件,用于配置vagrant的参数,使用默认的即可,如果有特殊需求可以google。

vagrant启动

启动命令如下:

vagrant up

若启动输出结果没有报错信息,则表示启动成功。

连接虚拟机

vagrant启动成功后,可以使用ssh来连接虚拟机,命令如下:

vagrant ssh

连接成功后,就可以使用命令方式操作这个系统了,安装数据库等。

打包box

在虚拟机中配置好环境后,退出并关闭虚拟机,使用如下命令进行打包:

vagrant package

命令成功执行后会在当前路径下生成package.box文件,可以将这个文件共享给团队中的开发人员,只要添加这个box并初始化,就可以保证团队开发环境的一致。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JavaQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档