上周花了点时间把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. solr 启动过程分析

    http://www.cnblogs.com/likehua/p/4353608.html#top

  2. setCharacterEncoding 和 setContentType

    request.setCharacterEncoding("gbk"); response.setContentType("text/html;charset=gbk&q ...

  3. KDJ回测

    # -*- coding: utf-8 -*- import os import pandas as pd # ========== 遍历数据文件夹中所有股票文件的文件名,得到股票代码列表stock_ ...

  4. mysql-5.7.15-winx64配置

    1.    配置环境变量 1.1  添加path路径 选择 控制面板>系统和安全>系统>高级系统设置>环境变量 mysql文件目录的绝对路径\bin 1.2  修改mysql ...

  5. Selenium2+python自动化21-TXT数据参数化【转载】

    前言      在17篇我们讲了excel数据的参数化,有人问了txt数据的参数化该怎么办呢,下面小编为你带你txt数据参数化的讲解 一.以百度搜索为例,自动搜索五次不同的关键字.输入的数据不同从而引 ...

  6. hdu 5176(并查集)

    The Experience of Love Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/O ...

  7. (5)python 字符串和输入输出

    一.字符串转义 字符串可以包含任何字符可以用单引号也可以用双引号 a='hello' a="hello" 如果字符串中存在单引号,可以用双引号里包含单引号的方式 a="I ...

  8. OJP1147括号匹配加强版(栈)与P1153乱头发节(单调栈)

    惨兮兮的被刷掉2%的通过率后在经过思考和dalao的指点后终于A掉了这道题 强烈建议修改这题的样例,实在太迷惑人,各种错误算法都能过 比如说这是一份错误代码,看懂了也不要学思路,和正解不知道差到哪里去 ...

  9. 【OpenStack Cinder】Cinder安装时遇到的一些坑

    最近需要安装Cinder组件,然后遇到了两个比较蛋疼的错误导致controller节点输入cinder service-list一直不能显示cinder节点上的cinder-volume服务. 错误1 ...

  10. Difference between [0-9], [[:digit:]] and \d

    Yes, it is [[:digit:]] ~ [0-9] ~ \d (where ~ means aproximate).In most programming languages (where ...