上网搜了半天也没找到“开发服务器”是用来干嘛的,我就按照自己的经验讲一讲好了。
代码(文件)仓储
开发服务器最重要的功能是提供仓储功能。我们用的最多的是代码仓储。 在CVS年代,甚至到SVN的年代,许多中小型开发团队都会配备开发服务器,然后写的代码没问题了,提交上去,ok收工。 然后CVS和SVN对文本文件和二进制文件的口味比较不挑(我感觉的,git就比较区分两种文件了,而且一般希望不处理二进制文件),会把编译好的安装包,服务器打包文件,文档(doc+jpg),甚至连一些需要预安装的库和程序也打包进来,仓储起来。
GIT
我们现在更多的是git。git关注于文本文件的变化,它的观察是以“行”为单位的。 通常我不希望在我们的git仓储中带上二进制文件如:doc、jpg、png、gif、mp3、avi等,甚至是pdf。(希望用html或者md来代替) 我们使用针对GIT的SAAS就好了,比如coding.net的git服务。
开发测试
API
比如我们的API服务器。
编译、运行
c++什么的,编译一个程序跑20分钟很正常,在自己机子上跑吗?太浪费时间了。 搞一个cpu、mem很强的服务器,把代码提交上去,跑编译。对,20分钟是服务器上跑的时间。 运行,搞个虚拟机来跑跑程序试一下。(我们一般不需要,装一个Firefox就够了。当然如果需要兼容ie,我就把这个任务交给你们这群使用windows的吧!)
Trace系统
就是bug追踪什么的。 像我们发任务啊,以前发任务不用这个,但是他们有工作汇报提交(windows共享)。 说到文件共享,我们原来公司的切图仔(美工的昵称)会切好图,然后扔到windows共享里,然后大吼一声(或者QQ一抖):文件放在xxx文件夹里。 还有一些公司运维相关也会被扔到开发服务器里来。像公司邮箱。
总结
在在线服务不成熟、网络慢、协作开发平台几近无的10年前,没有一个开发服务器(一般是本地)的,都不好意思叫研发团队! 他们也会备份 ,中小型团队一般每几个月拿个硬盘插到服务器上,拷贝一下。
远程开发服务器
比如我们的aliyun服务器。
优点
远程开发服务器的优势在于远程! 一般他们会叫做“云服务器”,其实就是自己的一个云主机。 托管了宽带、cpu、内存、用电。性价比高、稳定、安全。 文件丢失的可能性降低到原来模式的万分之一。
缺点
唯一不爽的就是占用公网宽带。相对的带来好处是哪里开发都一样。
干什么
上面说的开发服务器该做的一切事情,都可以用远程开发服务器来做。
代码仓储服务 && 协作服务
如github、如coding.net。 可以在我们的开发服务器中剥离这些功能。 毕竟部署和维护这些服务还是挺累人的。