新手学Linux(二)----使用 Vagrant 打造跨平台开发环境(一)

  • 前言
  • 什么是Vagrant
  • Vagrant能做什么
    • 尽可能避免Work on my machine错误
    • 缩短搭建开发环境的时间
  • Vagrant的主要使用者

前言



    做Web开发少不了要在本地搭建好开发环境,虽然说目前各种脚本都有对应的Windows版,甚至是一键安装包,但很多时候和Windows环境的相性并不是那么好,各麻烦的问题是实际部署的环境通常是Linux,常常还要面临着开发和部署环境不一致,上线前还要大量的调试。更要命的是,如果有很多机器需要装的话,那就真是一个灾难了。

什么是Vagrant?



    Windows下玩Linux少不了虚拟机,但装系统依旧是相当费事。在现在什么都在自动化的今天,Vagrant就是这么一个神器,基于Ruby开发,使用开源 VirtualBox 作为虚拟化支持,可以轻松的跨平台部署。

    我们可以通过 Vagrant 封装一个 Linux 的开发环境,分发给团队成员。成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行,非常霸气。

Vagrant能做什么?


尽可能避免”Work on my machine“错误

    在Vagrant没有出现之前,在服务器端进行开发的人们通常都拥有一个专用的开发帐号。使用这个帐号,开发者可以在一定限度内配置自己的开发环境、完成编码、进行测试并完成向开发团队代码库的代码推送。于是,在团队合作开发的过程中,一个问题出现了:当A进行了一次新的代码推送之后,原本可以通过的代码持续集成测试无法通过了。通过代码检查,发现A的代码出现了异常。而A在自己的开发环境中的测试是可以通过的。这类错误被Vagrant称作为“Work on my machine”错误。这类错误要定位解决通常耗时很久。在一个可以进行面对面开发的团队中,问题的定位由于沟通手段的丰富相对较快。如果是分散在不同地方的人在合作开发,那么要解决此类错误,就没有那么简单了。

小张在自己的机器上辛苦的完成了一项功能开发,通过了本机上的各项测试,高高兴兴的向团队代码库提交的自己的工作成果。心想终于可以放松一下了。“是不是可以买一只机械键盘犒劳一下?晚上和伙伴们出去聚会吧!嘿嘿。”小A心里美滋滋的想。

“小张,你来一下,代码有问题”。临近下班的时候,小A接到QA小组的一个电话。“怎么回事?”小张一头雾水的走进了QA小组的办公区。

“你今天下午提交的代码,无法通过测试。你自己做了测试了吗?”,老王是QA小组测试负责人,他面色凝重的问小张,“咱们就要发布一个新的代码版本了。这个时候你的代码出问题,可能会影响代码发布的。要不你赶紧看看?明天上午能修复吗。我们的测试报告和测试规范在这里”。

“明明没有问题的呀”,出了QA的办公区,小张仍然迷惑不解。“在我的机器上明明是可以运行的。而且为了晚上的聚会,测试规范中定义的各项测试也是提前跑过的呀。看来今天晚上的聚会要取消了。“小张无奈的拿出电话,打算给好友们打电话,通知自己无法参加晚上的聚会了。

    借助Vagrant,每一个开发者都可以得到一份服务器运行环境的虚拟机,可以以虚拟机的方式运行一个微型的”生产环境“。这样,在提交代码之前,开发这就可以在虚拟机上完成”生产环境“的验证。自然可以解决上面的问题了。

缩短搭建开发环境的时间

    搭建一个开发环境,需要完成操作系统的安装,必要的开发支撑软件的安装,配置操作系统和代码运行环境。如果所有的操作都需要由人来手动操作的话,一个下午的时间是必要的。搭建开发环境是团队中新人加入时的必不可少的第一课。而团队的老人们,无可避免的会接到无数的“新手”的发问。更不用说,当著名的Wxdows系统需要重新安装系统的时候,无论谁,基本上一天的工作时间算是交代了,更不用说各类开发软件的配置如果会影响代码执行结果的时候会引入什么样的“灾难”了。使用Vagrant实现开发环境的快速搭建成为提升效率的显著功能特性之一。

Vagrant提供了统一的安装程序配置环境:
- 使用统一的配置文件( vagrantfile)实现对服务器的统一配置。
- 使用共享文件夹( shared folder )实现代码编辑向“服务器”的快速提交
- 使用软件配置脚本( Provisioning scripts )实现服务器上的运行环境的快速建立
- 拥有标准化的虚拟机分享网络,极大缓解了分享开发环境配置时的网络带宽压力
- 可以具备一个供安装维护测试使用的可抛弃的服务器端环境。

小李是进入开发团队的新人。从学校毕业出来,小李就到了一个公司从事服务器端的软件开发工作。由于兴趣爱好的原因,他新近加入了这个网游开发团队。他接到的第一个命令就是“搭建一个服务器工作日志分析系统,为服务器代码优化改进做准备”。

小李从团队项目经理那里得到了服务器环境安装手册以及服务器日志数据库设计文档。小李需要在自己的机器上用虚拟机安装一套服务器环境,用以进行日志数据的分析和提取。

“好吧,估计这几天的时间要搭到系统安装里去了。”小李做好了心理准备,打开了服务器环境安装手册。意外的,手册很简单:

安装Vagrant和VirtualBox,从文件服务器(地址XX.XX.XX.XX/Software)下载Vagrant、VirtualBox安装文件,并完成安装

执行 git clone git@xx.xx.xx.xx:vagrantconfig.git获取vagrant配置文件
进入vagrantconfig目录,运行Vagrant up ftp://xx.xx.xx.xx/vagrant/trusty-server-cloudimg-amd64-vagrant-disk1

执行vagrant ssh 验证安装

从文件服务器(xx.xx.xx.xx/data)下载日志数据库dump文件,完成Mysql数据库内容的加载
……
“这就完了?”半个小时后,小李目瞪口呆的看着自己机器上运行的虚拟机,一套服务器日志系统已经加载完成了。小李已经可以着手进行数据的分析并开始做具体编码设计了。

Vagrant的主要使用者



    在服务器端进行开发的人员:Vagrant管理的虚拟机镜像提供了统一的生产运行环境。开发者可以随心所欲的决定什么时候想“服务器”端发布程序,什么时候在“服务器”端进行必要的测试,而丝毫不用担心会影响生产环境服务器的稳定运行。

    各类设计人员:使用Vagrant,可以让设计人员可以随心所欲的选择自己的开发用操作系统、设计软件、编辑IDE软件,可以通过与虚拟机之间的共享目录,快速实现设计文件在生产环境中的测试验证。

    系统维护人员:使用Vagrant,可以随意进行对系统安装设置的过程进行演练,验证工程安装手册的完备程度。也可以对系统维护中的各项操作指令随意进行实验。这对于提升售后服务团队的问题快速解决能力,获得实战经验的非常重要的手段。

时间: 2024-10-01 12:08:07

新手学Linux(二)----使用 Vagrant 打造跨平台开发环境(一)的相关文章

新手学Linux(三)----使用 Vagrant 打造跨平台开发环境(二)

前言 安装步骤 工具以及环境介绍 第一步VirtualBox和vagrant的安装 第二步使用vagrant添加虚拟机镜像         1从互联网添加虚拟机镜像文件         2从本地添加镜像文件 第三步初始化虚拟机 第四步使用虚拟机 常用命令 前言     在上一篇<新手学Linux(二)--使用 Vagrant 打造跨平台开发环境(一)>文章中,给大家介绍了什么是vagrant?,vagrant能干什么,以及vagrant的主要使用者,那么今天就给大家讲讲vagrant的具体使用

在 Mac/win7 下上使用 Vagrant 打造本地开发环境

1. vagrant介绍 1.1 vagrant能做什么 做Web开发(java/php/python/ruby...)少不了要在本地搭建好开发环境,虽然说目前各种脚本/语言都有对应的Windows版,甚至是一键安装包,但很多时候和Windows环境的兼容性(如配置文件.编译的模块)并不是那么好,麻烦的问题是实际部署的环境通常是Linux,常常还要面临着开发和部署环境不一致,上线前还要大量的调试.而如果让每个开发人员都自己去搭建本地环境,安装虚拟机.下载ISO镜像.选择规格安装创建vm.安装OS

新手学linux看啥书。?

问题描述 新手学linux看啥书.? 新手学linux.有什么书比<unix环境高级编程>这本书合适新手吗.看了<unix环境高级编程>感觉太厚,太详细了.感觉想先了解下大概轮廓之类的,这样是不是效率高点 解决方案 Unix/Linux编程实践教程,哈佛的一本教材.是Unix环境高级编程的简化版. 解决方案二: 推荐一本 鸟哥的linux私房菜 解决方案三: 一个不错的网站(适合新手学linux的) 解决方案四: 不要看了 看没用,早写.你能写的只有Android windowUW

linux中Vagrant安装配置开发环境

Windows下玩Linux少不了虚拟机,但装系统依旧是相当费事.在现在什么都在自动化的今天,Vagrant就是这么一个神器,基于Ruby开发,使用开源 VirtualBox 作为虚拟化支持,可以轻松的跨平台部署. 今天试着把几台机器的环境都换成Vagrant,很爽很顺畅,于是就试着整理了一下使用小结:   目前所选用的是当前的最新版本Vagrant 1.2.7 (对应的Vagrantfile V2版),VirtualBox 使用的是 4.2.16 准备工作: 下载安装 VirtualBox :

linux中vagrant创建配置开发环境

vagrant解决的问题 稍微有点团队协作开发经验的程序员都应该知道团队协作开发环境是多么的重要,起初的时候,大家的开发环境是windows,max os x,ubuntu,centos等等,我们各个程序员都是那么坚信程序在"我"的机器上是真的正常的.但是就线上就是出了问题,或者A程序员开发环境跑不起来,而且常常提交文件时,由于目录结构的差异,会导致误提交.由于开发环境的异构会导致我们浪费大量的时间去解决这些开发环境的问题. 所以vagrant可以解决上述的问题,可以实现开发环境的跨平

Linux虚拟机中node.js之开发环境搭建_Linux

先说下nodejs这个哦,有人以为它是一种语言,其实不是,它是一个平台.下面来说下本次的话题:Vmware虚拟机node.js之开发环境搭建 一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这里使用Vmware. 安装好Vmware后,点击新建虚拟机,选择稍后安装操作系统,然后进行配置.虚拟机设置如下: { 客户机操作系统:其他: 版本:其他64位

Linux系统下完成Windows的开发环境替换

当下有很多的人都在Windows下进行开发工作,在Windows下搭建相关的开发环境并且使用各种开发工具进行工作.其实更多的专业开发人员会选择Linux操作系统作为他们大的系统环境.理由很简单,Linux运行起来更快,更灵活,更加安全. Windows下的开发环境以及软件 Visual Studio 2010 Visual Studio 是微软公司推出的开发环境.是目前最流行的 Windows 平台应用程序开发环境.Visual Studio 可以用来创建 Windows 平台下的 Window

Linux下安装IPython配置python开发环境教程_Linux

一.IPython简介 IPython 是一个交互式的shell,比默认终端好用,支持自动缩进,并且内置了很多有用的功能和函数.可以在任何操作系统上使用. 二.安装方法 1.pip 在线安装 pip install ipython pip install "ipython[notebook]" 2.下载安装 可以到GitHub 下载安装包,切换到目录下然后运行下面的脚本 Python setup.py install 三.简单使用 打开Linux终端,在命令行中输入 root@Linu

新手学Linux(四)----Linux下安装配置MongoDB数据库

一安装步骤     1下载及解压     2创建数据库文件夹与日志文件夹     3启动MongoDB 二设置MongoDB数据库     第一步     第二步     第三步     最近在学习研究linux,今天就教教大家怎么在linux上安装配置MongoDB数据库 一.安装步骤     1.下载及解压     MongoDB的下载地址:mongodb-linux-x86_64-rhel62-3.0.7     下载完成后用WinSCP复制到/usr/local/下,然后进行解压,解压命