悲催的开发环境配置
张大胖如愿跳到了这家新公司的研发部门,他摩拳擦掌,准备大显身手。
按照入职的惯例, 配置一个本地的开发环境必不可少。 兴冲冲的大胖看到组长发过来的配置文档,不仅倒吸了一口凉气 :竟然有几十页之多!
细细一看, 足足有48个步骤, 我的天呐!
组内的老人们对新人投来了怜悯的目光, 其中不乏夹杂着幸灾乐祸, 似乎想起了本人刚入职时配置环境那惨不忍睹的时光。
大胖做了一次深呼吸,定了定神,正式开始苦难的历程。
从SVN上下载代码, 解决编译错误, 咦,怎么缺少这么多的jar 文件?
好心老梁赶紧说: 我把jar文件发给你, 那个配置文档太老了, 有 两年都没人更新了。
大胖心里一声叹息,但是他很细心,一边配置环境,还一边修改文档。
他立志要搞一个最新版的出来: 从我开始, 后面的新人再也不用受折磨了。
可是谈何容易, 缺失的jar 文件还好办, 设置好Build Path以后把他们都commit到SVN上, 下次再有人下载,编译的依赖就自动解决了。
其他的就有点麻烦了,安装Nginx、Tomcat、MySQL、Redis……哪个都不是省油的灯, 安装路径的选择、配置文件的修改,端口的设定, 最后还得把它们连起来。
经过九九八十一难, 终于到了文档的最后一步: 运行。
不过所料, 控制台一大堆错误信息触目惊心, 似乎在嘲笑每个新人的无能。
大胖心中一万只神兽奔腾而过, 他感到了强烈的无助感。
老梁坐着那高档的程序员专用椅滑了过来: “怎么样? 滋味不好受吧, 要不要我帮你一下?”
张大胖还能说什么, 老将出马,一个顶俩。
可是这一次老司机也翻车了, 老梁折腾了很久, 满头大汉 , 总是有一个运行时错误解决不了。
临近中午, 老梁说: 算了, 先去填饱肚子吧。大胖下午继续抖擞精神,把上午安装的系统删掉,重新再来一遍, 小样, 不信我搞不定你。
3个小时过去了, 到了运行的时候,还是同样的错误。
第二天再来一遍, 还是同样错误! 难道是人品问题? 本来想大显身手,展示自己深厚的编程功底, 没想到在这个小阴沟里一直出不来了。
第三天,大胖干脆把机器格式化了, 看成败,人生豪迈, 只不过是从头再来。
这一回老梁也在旁边盯着, 结对配置, 每一条配置命令都被仔细检查了100遍, 到了中午时分, 大胖热泪盈眶的看到 : 系统终于可以跑起来了!
所有的坑都找到了, 所有的坑都被填上了。
张大胖也陷入了沉思: 这个过程是在是太痛苦了, 怎么才能改进一下?
这么多步骤,这么多配置, 要是事先都弄好了, 直接拿过来用该多好!
大胖灵机一动 :把这些配置好的Tomcat、MySQL、Redis...... 之流搞到一个虚拟机中不行吗? 新人来了, 直接下载一个配置好的虚拟机, 开箱即用, 再也不用理会这么多啰里啰嗦的细节了。
张大胖是个实干家,马上卷起袖子实验, 可是结果却不尽如人意。 一是虚拟机太大,二是慢的要死, 这都喝了3杯咖啡了还没启动完。
一次偶然的机会, 张大胖听到同事们在聊Docker, 简单的看了下相关的资料,他马上联想到, 既然虚拟机这么笨重, 何不用轻量级的Docker来解决问题呢?