使用virtualbox搭建一个实用的开发环境
来源:互联网 发布:专利运营企业知乎 编辑:程序博客网 时间:2024/05/16 03:43
开发服务器的部署
在开发过程中一般需要很多的工具和服务,比如svn server,building server等等。这些工具和服务应该如何实际的部署到服务器是一个很头疼的问题。从管理和配置角度来看,就像软件本身划分功能模块一样,最好是按照功能划分,每个工具和服务都在一个独立的服务器上面,尽量减少各种工具安装和配置上的冲突。但是从实际来看,由于这些工具和服务一般都不会长时间的占用系统资源,这样会造成大部分时间服务器都是空闲的,造成极度的浪费。而且这样也会增加实际物理服务器的数量,提高了硬件的维护成本。所以一般都是将几个工具和服务同时部署到一台服务器上面。那么应该如何对这些工具和服务进行组合才是合理的呢?这个问题没有标准的答案,需要根据不同的项目进行实际的评估。如果发现配置的不够合理,那就需要对工具和服务进行迁移,这是很麻烦的工作。
使用virtual box来解决这些问题再好不过了。可以按照最理想的管理配置方案为每一个工具和服务建立一个vb虚拟机,然后将这些vb虚拟机部署到服务器上面。将vb虚拟机的网络模式改为桥接模式,并配置与服务器在一个子网的ip,这些虚拟机就可以像真实的服务器一样在子网内访问。在服务器之间迁移vb虚拟机基本上不需要什么麻烦的工作,把虚拟机的虚拟硬盘文件拷贝到服务器上,重新运行虚拟器。就是这么简单,甚至虚拟机的ip都不用改变,使用者完全不会感受到迁移所带来的任何影响。这也可以说是现在流行的“云计算”的想法吧。
如果发现虚拟机的计算能力不够,它的的硬件配置,比如cpu数量,内存大小,硬盘大小都可以按照需要进行修改。虚拟机的os我一直在使用ubuntu server LTS,资源占用少,安装工具方便,还能得到及时的更新。我保存了一个安装好系统的虚拟硬盘文件,每次需要建立新的虚拟机,都直接从这个硬盘文件复制出新的虚拟硬盘,省去了安装系统的时间。宿主机的硬件配置应该尽量使用更多的cpu核心,更大的内存,更大的硬盘,我想一台8核心8GB的服务器肯定要比两台4核心4GB的服务器便宜的多。如果宿主机使用的是windows系统,可以使用vboxvmservice将虚拟机安装成windows服务,使其可以随着宿主机自动开关。
一个实例
SVN主服务器
SVN备份服务器
svnadmin create ./$1echo "#!/bin/sh" >./$1/hooks/pre-revprop-changeecho "exit 0" >> ./$1/hooks/pre-revprop-changechmod +x ./$1/hooks/pre-revprop-changesvnsync init file:///home/yuanlin/svnbak/$1 http://192.168.1.220/svn/$1svnsync sync file:///home/yuanlin/svnbak/$1
#!/bin/shbakdir="/home/yuanlin/svnbak/"dirs=$(ls $bakdir)for dir in $dirsdo if [ -d $bakdir$dir ] then /usr/bin/svnsync sync file://$bakdir$dir fidone
BuildBot Master
- 从仓库获得最新版本代码(svn update)
- 做一些代码的自动检查工作,比如对cpp进行静态分析
- 构建工程
- 构建单元测试
- 运行所有单元测试
- 将构建结果打包并提供给开发人员下载
BuildBot Slave
Cacti
- 使用virtualbox搭建一个实用的开发环境
- 使用VirtualBox+Vagrant搭建自己的Laravel开发环境
- 使用vagrant+VirtualBox搭建虚拟开发环境
- vagrant+virtualbox搭建开发环境
- 使用VirtualBox安装Ubuntu9.10,搭建java开发环境总结
- Windows使用Vagrant&VirtualBox搭建虚拟开发环境
- 使用VirtualBox和Vagrant搭建Linux开发环境
- VirtualBox-Unbutu搭建LINUX开发环境
- Vagrant+virtualBox搭建集成开发环境
- VirtualBox+Ubuntu+Xshell搭建Linux开发环境
- 【开发环境】使用vagrant工具搭建一个开发环境
- Meteor开发环境的搭建及简单实用
- 使用VirtualBox + Vagrant打造属于自己的开发环境1
- 使用VirtualBox + Vagrant打造属于自己的开发环境2
- 使用VirtualBox + Vagrant打造统一的开发环境
- 搭建一个优雅的ubuntu开发环境
- 搭建一个完整的Java开发环境
- 实用—Android开发环境搭建
- 国土档案管理信息系统【档案著录】-他项权利类档案著录
- ldapsearch 参数表
- Linux删除旧内核
- UIApplication sharedApplication详细解释-IOS
- Win32串口编程
- 使用virtualbox搭建一个实用的开发环境
- 小知识点
- STL之排序算法
- (转)HBase技术介绍
- C语言运算符优先级 详细列表
- WCM小记
- CString 和 char* 类型转化
- 比较简单的根据经纬度解析google天气
- log4j sample