去年心血来潮和几个朋友合作做点东西玩玩,为了协调团队开发进度,采用SVN作为源代码管理,为了省钱采用GOOGLE提供的免费svn服务器,虽然是免费,但也有两个问题:
1,项目代码必须开源,但我们做的东西根本就不想开源,也没有能力达到开源的高度。
2,速度还是速度,估计是因为国内对Google的封锁原因,代码提交和checkout的时候太慢了,经常出现连接不上的情况。
针对上面两种缺陷,我也找过各种方案,淘宝上也只发现了一个稍微便宜的SVN服务器提供商,但免费的却只有10M的空间,空间1G的要100块,而且1G确实不够大,本就囊中羞涩,还是节约至上吧。
以实际出发,针对本人个人开发的情况,协同开发的情况也不多,顶多就是异地开发的时候将代码提交到统一的一个服务平台上,这种情况还是比较少,针对这种用户少,使用频率低的情况,完全可以将自己家庭电脑作为SVN服务器。自己电脑作为SVN服务器,一方面省钱,二是省钱省事还灵活方便。
但问题来了,家庭电脑做服务器??那不是要一直开着啊?耗电耗损也伤不起啊。
针对上述描述情况,其实只要使用svn的时候将服务器打开一下而已,用完可以将服务器关掉。如何达到这种目的呢??
突然想到曾经玩过Wake on Lan技术,这个地方完全可以充分发挥网卡的这个特性嘛,虽然本人的thinkpad笔记本已经很老了,但神奇的是网卡就是支持wake on lan技术!通过设置BIOS和网卡的wake on lan特性,我可以通过局域网内发送magic package包去网络唤醒电脑,什么是网络唤醒电脑?就是通过网络从远程将电脑唤醒或开机!That's IT!局域网内能唤醒,那广域网也肯定是可以做到的啦!只要在路由器里设置DMZ或者设置虚拟服务器后就可以将广域网映射到自己的thinkpad笔记本,这样我可以在任何有网络的地方通过Wake on lan技术开启我的笔记本,Pc机上的相关软件我没找,手机上下个wake on lan的软件就可以耗费10几kb的流量开启远程电脑了!
远程电脑开启后,SVN服务就打开了,那我使用完SVN后如何将电脑关机呢?
我觉得有两种方式:
1,家庭电脑上写个程序,从远程调用程序实现关机或睡眠。该方法需要写程序,比较麻烦。
2,直接开启家庭电脑的远程桌面功能,从任何有网络的地方都可以登陆家庭电脑实现任何操作。这里需要注意的一个问题是,远程桌面登陆的电脑是没有关机功能的,可以同构任务管理器里的关机命令或者用命令行 shutdown -s -t 0的命令去实现关机。这样我就可以实现任意时候关机了!
至此,我就可以在任意时候开启我的电脑,任意时候关机,灵活运用就可以达到SVN服务器的功能了。根据上面描述,采用这种方式还可以在任何地方灵活控制自己家庭或办公室的电脑,实现Work any place!
科技改变生活!!