上周花了点时间把CI环境再次给搞起来了,但是觉得在实体机中总觉得不是很安心,安全性不足,另外没有做备份,安全性、扩展性等都不足,且不好迁移。

因为目前只给了我一台PC及,配置其实也不怎么样。但是却需要承载不少的CI任务。

  • 包括后端云的代码及分析,其中包含不下10个子系统;
  • 设备端包含了ROM,相关Launcher及10多个Services型的App;
  • 另外包含2个手机端端App(给不同角色人员使用的不同App);
  • 最后包含一些针对不同角色的Portocal等;

在我看来一台PC上其实是不够的,但是资源有限,目前就姑且先跑起来。

为了方便以后扩展,我计划调整为使用虚拟机准备CI测试环境。

另外,使用虚拟机做CI,我这本来一台机器就可以具备多台机器的作用,针对C++和Java以及Python等多语言,使用不同的机器运行,也达到了相互隔离的目的。
好了,来看看目前宿主机的配置情况:
主机配置:CPU 双核、内存 4GB、硬盘 500GB
haochuang@Server-CI:~$cat /proc/cpuinfo |grep "model name"
haochuang@Server-CI:~$cat /proc/meminfo |grep "MemTotal"
haochuang@Server-CI:~$ sudo fdisk -l
我是这样计划的,宿主机依然安装Ubuntu系统,虚拟机根据不同的业务,前后台需要用于不同用途,作如下分配:
CI Master 调度主机:主要负责CI各个Slave任务分配等,系统为Ubuntu;
CI Slave1 设备部分,主要测试前端android部分,承载JAVA语言及ROM等,Ubuntu虚拟机;
CI Slave2 后端部分,主要测试后端C++部分,CentOS 虚拟机;
--
CI Slave3 测试设备,主要测试前端android部分,用于测试人员编写调测运行JAVA代码,Ubuntu虚拟机;
CI Slave4 测试设备,主要测试后端云及其子系统部分,用于测试人员编写调测运行C++与Python代码,,CentOS 虚拟机;
 
其他Web等部分目前暂未考虑,如果需要加入,则另行增加机器,或使用代理服务器。
划分为4个虚拟机,每个配置如下:CPU 单核、内存1GB、硬盘50GB。
但目前看来,其实是不够用的,因为主机配置本身就在那里,那么在实际中,我再根据需要去逐渐调整配置;总之,先搭建起来环境再说。
其他的待后续逐渐补充。
--------------
2014-07-01

【CI】系列一:总体环境规划的更多相关文章

  1. Java 集合系列 01 总体框架

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  2. DevOps系列(1)-总体架构

    扯闲淡 在进入正式话题之前,先扯个淡,这算是第一篇我正式在博客上发布的随笔吧,之前也一直有想写点什么,将自己多年的工作经验分享出来,供大家参考点评,但是奈何一直对自己的文字功底不自信(其实也确实比较烂 ...

  3. 【Java集合系列】---总体框架

    个的组合,这些数据项可能共享某些特征,需要以某种操作方式一起进行操作,一般来说,这些数据项的类型都是相同的,或者基类相同(若使用的语言支持继承),列表或数组通常不认为是集合,因为其大小固定,但是事实上 ...

  4. Dubbo源码学习总结系列一 总体认识

    本文写作时,dubbo最高版本是V2.6.0.  写这篇文章主要想回答以下4个问题: 一.dubbo是什么?完成了哪些主要需求? 二.dubbo适用于什么场景? 三.dubbo的总体架构是什么样的? ...

  5. CI系列之配置sonar

    基于GO项目 1.在jenkins新建sonar任务,设置2个变量用于接收代码分支和pipline的workspace[两个变量的作用在CI之Jenkinsfile中会讲到] A.添加构建参数 B.选 ...

  6. springboot源码解析-管中窥豹系列之总体结构(一)

    一.简介 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot ...

  7. jquery的2.0.3版本源码系列(1)总体结构

    为什么选择2.X版本,而不是1.X版本,因为2.X不兼容IE6/7/8,所以少了兼容代码,让我们更专注于jquery原理的代码. 一共有8830行. 1.1 匿名函数自执行 首先,匿名函数的作用是,把 ...

  8. Javascript系列:总体理解

    js是一个脚本客户端(浏览器)语言.和sql html类似.多练习. 没有排错的经验,弱类型语言,浏览器解释执行,出错也不会报错 预备 <!DOCTYPE html PUBLIC "- ...

  9. Jenkins Ci系列目录

    Jenkins入门篇 1.Jenkins入门之界面概览 2.Jenkins入门之新建任务 3.Jenkins入门之导航操作 4.Jenkins入门之任务基本操作 5.Jenkins入门之执行Power ...

随机推荐

  1. sql ---- count 误区

    select count(字段名) from table group by 字段; 分组后的内容统计. count统计的字段是 不包括空的数据.

  2. vue学习记录:vue引入,validator验证,数据信息,vuex数据共享

    最近在学习vue,关于学习过程中所遇到的问题进行记录,包含vue引入,validator验证,数据信息,vuex数据共享,传值问题记录 1.vue 引入vue vue的大致形式如下: <temp ...

  3. Selenium2+python自动化46-js解决click失效问题【转载】

    前言 有时候元素明明已经找到了,运行也没报错,点击后页面没任何反应.这种问题遇到了,是比较头疼的,因为没任何报错,只是click事件失效了. 本篇用2种方法解决这种诡异的点击事件失效问题 一.遇到的问 ...

  4. 安装XHProf分析PHP性能瓶颈(原创)

    废话不多说,直接上代码 ,手动滑稽.o(╯□╰)o   如果已解决您的问题,请在文章底部点击下关注,非常感谢. 下面是LINUX命令行 $ wget http://pecl.php.net/get/x ...

  5. 吊销openvpn证书

    #cd /tools/openvpn-2.0.9/easy-rsa/2.0/ #source vars 低版本的openssl需要注销以下几个配置 vim openssl.cnf #[ pkcs11_ ...

  6. [thinkphp] ajaxReturn案例

    javascript: <script> $('.ajax-post').click(function(){ var action_url=$('form').attr('action') ...

  7. Codeforces 608 B. Hamming Distance Sum-前缀和

      B. Hamming Distance Sum   time limit per test 2 seconds memory limit per test 256 megabytes input ...

  8. HDU 1558 Segment set(并查集)

    题意: 给你一些线段的起点和终点的坐标,最后问和某个线段相连的或者间接相连的线段有多少个(包括本身)? P X1 Y1X2 Y2  起点(X1,X2)终点(X2,Y2):按照出现次数依次编号为1,2, ...

  9. Java 反射调用的一种优化

    写一些Java框架的时候,经常需要通过反射get或者set某个bean的field,比较普通的做法是获取field后调用java.lang.reflect.Field.get(Object),但每次都 ...

  10. [BZOJ 2342] 双倍回文

    Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2342 Algorithm: 解决回文串问题,一般从对称轴下手. 肯定先跑一边Manach ...