前言
服务器端开发工程师的一个痛点就是各种搭建环境,尤其是对于我们这种特别爱捯饬技术,搭建环境,升级应用版本的这类人。这样除了让我们忍受搭建各种版本的环境的繁琐兼容问题,还让自己的开发机变得越来越臃肿,为此本文介绍了一种使用 搭建一套集成的开发环境(镜像)的方案,不仅可以让团队开发人员的环境保持一致,同时使得开发机保持瘦身。
当然也有缺点,不许要做好数据的保密性,不能让所有的开发人员的镜像都有一些生产数据。
下面我们就直接进入正题,搭建一个可以升级的本地环境。
安装vagrant和virtual box
访问 官网(https://www.vagrantup.com/),下载并安装。
访问 官网(https://www.virtualbox.org/),下载并安装。
安装开发环境
的基本单元叫做box,我们可以理解为镜像,首先我们需要添加一个 公开的镜像到我们本地,用来搭建环境。
我选择的是一个ubuntu镜像,下面的操作我们可以理解为下载镜像。
提示选择哪一种方式,我们这里选择的是virtualbox,我们刚刚已经安装了。
初始化本地开发环境,我们可以理解为安装镜像。
运行本地开发环境
ssh到本地开发环境
如果能进入刚才安装的系统,那么说明我们安装成功。因为设置了免密钥登录,所以直接输入就可以登录。
注意:切记,是在你的 目录执行 相关命令),如果需要关闭系统,可以输入如下命令
参考文档:https://www.vagrantup.com/docs/getting-started/
配置开发环境
具体的搭建环境根据自身的项目决定,我这里只通过安装tomcat举例。官方网站下载tomcat,放到指定目录,我这里直接放在了我的 home目录。
解压tomcat
为了让我们本地开发机也能访问到 里面的tomcat,我们需要配置转发端口。需要在 下面添加:
修改了配置文件以后,reload才能生效
运行tomcat
在我们开发机打开浏览器,输入 ,我们就能看到Tomcat的欢迎页了,配置环境成功。
参考文档:https://www.vagrantup.com/docs/getting-started/networking.html
打包开发环境
截止到目前假设我们自己的开发环境已经搭建完成,那么我们需要把搭建好的开发环境分发给其他开发人员。这个时候就需要打包一个开发环境,主要就是把我们已经处理好的开发环境打包成一个*.box文件,这样便可以使用 进行安装了。在 目录输入如下命令打包镜像:
--output:打包的名字,做程序需要美人的陪伴,于是我起了一个响亮的名字;
--vagrantfile:设置这个参数以后,就可以把刚才我配置到 里面的配置打近包里面,这样其他开发人员下载镜像的时候就不需要重新配置了。
这个时间有点长,我们慢慢的等他结束。
参考文档:https://www.vagrantup.com/docs/cli/package.html
搭建私有镜像仓库并发布镜像
我们要找一个大家都能下载并且外人不能访问的地方,所以我们选择搭建一个私有的镜像仓库。我在内网找了一个linux的服务器,IP地址是 ,方便下文我们对应。在上面安装一个Nginx,方便我们可以直接通过URL访问相应的资源。在Nginx的根目录,创建vagrant文件夹,在vagrant文件夹下面在创建boxes文件夹。在vagrant目录添加mermaid.json文件,用于存放box的metadata信息。同时把我们刚才的mermaid.box放到boxes下面,并命名为mermaid.0.1.0.box,以便稍后的升级测试。具体目录结构如下:
mermaid.json 里面具体内容如下:
基本配置都比较容易理解,注意的是checksum,需要把box上传到服务器的时候,使用 生成一下checksum值。配置都完成之后,我们测试访问 ok,那么表示我们配置成功。
参考文档:http://softwaretester.info/create-private-vagrant-box-repository/
通过私有镜像仓库安装开发环境
和最开始我们再 公有仓库安装的方式类似,首先我们准备一个全新的目录,我是使用的这个目录 。首先指定我们的私有仓库地址,添加一个镜像到本地。
出现如下提示,说明我们在正确的路上,如果是局域网这个步骤会很快。
我们可以通过 命令看一下是否安装成功
由此可以看出来我们安装成功,那么进行下一步,安装镜像
重复之前的操作,运行开发环境,并ssh到开发环境
运行Tomcat
在开发机本地访问 ,看到欢迎页,说明我们本地安装成功啦,还不是庆祝的时候,还没有结束,我们接下来看看怎么升级每一个人的镜像。
参考文档:http://softwaretester.info/create-private-vagrant-box-repository/
添加新版本镜像到私有库
这个功能主要是我们对开发环境有了修改,需要其他的开发人员同时更新到最新的环境。这次我们为开发环境安装一个Nginx,并且设置开机启动(具体步骤不累述),然后配置 ,添加80端口共享:
按照 步骤,重新打包一个新的mermaid.0.1.1.box上传到mermaid.0.1.0.box相同目录,如下图:
注意:这里有一个地方需要注意,如果你第二次打包,不能直接指定 是当目录的,因为它里面不包含你最初的配置,这时候有两种方案:
1.如果你没有做什么配置的修改,需要指定到原来的配置文件,比如这个目录里面的 ,是我上一个0.1.0的内置的vagrantfile。所以我打包的命令是:
2.如果你有修改配置,那么可以考虑把上面的路径的配置拷贝到当前目录的 里面,再进行打包。
修改mermaid.json文件,添加新的版本
配置完成。
参考文档:http://softwaretester.info/create-private-vagrant-box-repository/
更新镜像
进入mermaid目录,输入:
提示显示已经有0.1.1版本,可以更新啦,那么我们直接输入如下命令更新,切记需要 关闭虚拟机。
更新以后,访问localhost,出现 字样。至此已经全部完成。
最好的赞赏是关注
领取专属 10元无门槛券
私享最新 技术干货