上周花了点时间把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. JavaScript获取和操作html的元素

    #转载请留言联系 1.获取元素 JavaScript的用途就是为了实现用户交互和网页的大部分动画.所以JavaScript常常需要操作html中的元素.要先操作就要先获取过来.JS有几种途径获取元素, ...

  2. 常用的find命令

    find命令 find [路径名] –name/-size/-perm find [路径名] –name “*p” 在路径搜索p结尾的文件夹及文件 find [路径名] –name “[ab]*” 在 ...

  3. Solidity 文档--第三章:Solidity 编程实例

    Solidity 编程实例 Voting 投票 接下来的合约非常复杂,但展示了很多Solidity的特性.它实现了一个投票合约.当然,电子选举的主要问题是如何赋予投票权给准确的人,并防止操纵.我们不能 ...

  4. python Tk()生成的桌面的具体设置方法

    rom tkinter import * root = Tk() root['height'] = 300 #设置高 root['width'] = 500 #设置宽 root.title('魔方小站 ...

  5. eclipse出现build path 错误

    右击本项目-build path-config build path-libraries-发现有选项是带错误符号,于是点击edit然后点击alternative jre选择安装了的jre就解决问题了

  6. 安装配置GitLab

    在 CentOS 6 安装 使用国内镜像安装,新建 /etc/yum.repos.d/gitlab-ce.repo,添加以下内容 [gitlab-ce] name=gitlab-ce baseurl= ...

  7. [BZOJ2555]SubString LCT+后缀自动机

    2555: SubString Time Limit: 30 Sec  Memory Limit: 512 MBSubmit: 3253  Solved: 975[Submit][Status][Di ...

  8. ubuntu14.04 安装 pyv8

    1. $sudo pip install -v pyv8 Error: pip unicodedecodeerror ‘ascii’ codec can’t decode byte 0xe2 in p ...

  9. POJ 3281 Dining(网络流)

                                                                        Dining Time Limit: 2000MS   Memo ...

  10. Xamarin XAML语言教程控件模板的模板绑定

    Xamarin XAML语言教程控件模板的模板绑定 控件模板的模板绑定 为了可以轻松更改控件模板中控件上的属性值,可以在控件模板中实现模板绑定功能.模板绑定允许控件模板中的控件将数据绑定到公共属性上. ...