说明:终于 我们的服务器 主机到了,之前在Ubuntu18.04上搭建gerrit服务器,同时也使用了VNC实现了 windows与 Linux之间的连接。这些工作主要都是为 接下来的 服务器 搭建 做铺垫的。而现在 我们的服务器到了,于是我们开始规划 和整合 之前的这些 搭建服务器的操作。接下来就是将其 整合到一起。
1 服务器系统安装
1.1 cent OS操作系统(这里的版本是Cent OS 7.2)
关于操作系统的安装 可以参考 文章(链接):CentOS 7.2系统安装步骤
但这里注意:我们根据自己的情况去选择界面,因为安装我们 centOS的初衷是便于虚拟化和维护。因此 我们在软件选择时 选择了带GUI的服务器,同时关于KVM 和虚拟化相关的软件 也都一并安装上去了。
1.2 安装KVM虚拟机
关于KVM虚拟机的安装 可以参考 文章(链接):Centos7.2 安装kvm
说明:这里首先要确定的是 我们的 机器在底层 是否支持KVM的虚拟化,否则后面的工作是无意义的。
1.3 KVM 安装 Ubuntu18.04操作系统
关于KVM安装Ubuntu操作系统 可以参考 文章(链接):Centos7笔记之KVM之使用GUI图形界面安装kvm虚拟机
不同在于 镜像的 加载一个是centOS,一个是Ubuntu18.04。其他的参数设置,CPU、内存和硬盘 都可以根据自己的需要来设定
1.4 KVM虚拟机Ubuntu系统的配置说明(实现VNC连接)
说明:很多的教程都会说要执行很多的命令,但很多配置 图形化操作都已经封装好了,如果对服务器的配置不是特别精通,这样做反而效率更高 同时 维护风险更低。
@1 图形化的网卡设置
网卡直接选择 NAT模式,同时设备型号自动选择即可,如下所是:
同时 点击右下角的应用后,系统会自动选择为:
@2 图形化与VNC 连接的设置
虚拟机的VNC的设置如下所是:
同时这里可以根据自己的需要设置密码。
@3 服务器 本地测试VNC客户端
上面设置好后,我们先使用 服务器端的 VNC客户端测试,打开命令行,执行命令:
vncviewer
之后出现界面:
之后点击连接即可连接成功,如下所是:
接下来 我们只要 使用路由器 将客户机 和服务器之间建立起连接,之后使用客户机 VNC远程访问即可。
@4 使用windows / mac客户机上的VNC Viewer 来访问CentOS 服务器
正常情况下 客户机 直接下载对应版本的VNC Viewer,之后直接输入IP地址 或IP地址:端口号 即可。但这里出现了个问题:VNC Viewer 连接不上 cent OS 服务器的问题,如下所示:
而执行了 ping操作,发现IP ping的通,同时使用了windows和mac均连接不上 centOS服务器,猜测是防火墙的问题,查了相关资料,在服务器端执行如下操作:对端口 5901 / 5902 进行了手工开启,如下所示:
$iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
$iptables -I INPUT -p tcp --dport 5902 -j ACCEPT
之后就能连接上了,如下所示:
说明:整个过程中使用centOS7.2 作为一个虚拟机的平台,当然这个虚拟机平台是自带备份的,在虚拟机平台上直接搭建一个 admin的虚机,主要负责 gerrit服务器、jeckins编译等。而VNC软件主要用于远程连接,便于远程控制。在一个团队内 主要是使用 VNC在局域网内进行访问。这样整个 服务器的系统就搭建起来了。
2 服务器资源分配参考信息
2.1 服务器 选型原则
对于安卓编译,我们首先谈下 对硬件的要求,因为我们要编译的是安卓8.0及以上版本 的系统,所以 基本上 每一个单独的编译 单元 尽可能 分配到 CPU 8核心16线程、32G内存(确保 编译时内存是够的)、硬盘容量 0.75T 这样的一个编译资源。同时我们要构建一个Daily Build的专门用户,该用户要由更大的硬盘容量,主要存放各种版本,这就跟项目的规划有很大关系了。
2.2 服务器 资源分配方案
接下来我给出一个参考规划,可以 据此 自定义和修正,如下所示:
账号 | 用途和资源 |
admin | Gerrit 服务器(版本管理+权限管理)+ jeckins服务器(编译管理,出各种版本) 配置耗损:64G内存,1.5T 硬盘,每日构建 |
dev1 | 用户机:ubuntu18.04系统,pull & push 代码,编译和调试Android源码 配置耗损:32G内存,0.75T 硬盘,随时编译 |
dev2 | 用户机:ubuntu18.04系统,pull & push 代码,编译和调试Android源码 配置耗损:32G内存,0.75T 硬盘,随时编译 |
... | ... |
devN | 用户机:ubuntu18.04系统,pull & push 代码,编译和调试Android源码 配置耗损:32G内存,0.75T 硬盘,随时编译 |
(特殊说明:以上部分仅供参考)