From f51a4ce274478a45c8e3c792880a7daba3f1f579 Mon Sep 17 00:00:00 2001 From: xiezheng Date: Fri, 25 Sep 2020 10:00:09 +0800 Subject: [PATCH] [README.md] first version --- README.md | 198 ++++++++++++++++++++--- doc/pictures/compass-ci-architecture.png | Bin 0 -> 63131 bytes 2 files changed, 173 insertions(+), 25 deletions(-) create mode 100644 doc/pictures/compass-ci-architecture.png diff --git a/README.md b/README.md index d09f0edd..cd028036 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,185 @@ -# compass-ci +# Compass-CI 用户指南 -#### 介绍 -Compass CI +## 简介 -#### 软件架构 -软件架构说明 +### 概念 -#### 安装教程 +Compass-CI 是一个可持续集成的软件平台。为开发者提供针对上游开源软件(来自 Github,Gitee,Gitlab 等托管平台)的测试服务、登录服务、故障辅助定界服务和基于历史数据的分析服务。通过Compass-CI,社区开发者可以将开源软件快速引入openEuler社区,并补充更多的测试用例,共同构建一个开放、完整的开源软件生态系统。 -1. xxxx -2. xxxx -3. xxxx -#### 使用说明 +### 功能描述 -1. xxxx -2. xxxx -3. xxxx +- **测试服务** -#### 参与贡献 + 支持开发者基于本地设备开发,往 github 提交代码,Compass-CI 自动获取代码开展测试,并向开发者反馈测试结果。 + +- **调测环境登录** -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request + Compass-CI 提供 SSH 登录能力,测试过程中如果测出问题,开发者可根据需要登录环境进行调测。 +- **测试结果分析** -#### 码云特技 + Compass-CI 记录历史测试结果,对外提供 web 及命令行接口,支持开发者针对已有的测试结果进行分析,挖掘影响测试结果的因素。 -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +- **辅助定位** + + Compass-CI 在测试过程中可以自动识别错误信息,触发基于 git tree 的测试,找出引入问题模块的变化点。 + + +### 架构简介 +![Compass-CI架构](doc/pictures/compass-ci-architecture.png) +- **接入层** + + 成为衔接Compass-CI 服务于开发者的纽带,同时提供内部设备管理的平台,提供web门户查阅测试结果、项目清单、ssh环境登录 + +- **服务层** + + 提供测试服务、环境登录、结果分析、辅助定界、用户项目注册能力,为本项目的主要功能 + +- **支撑层** + + 作为项目主体功能实现,详细描述资源编排、部署、构建、测试 等详细实现。 + +- **数据层** + + 为项目提供数据处理服务,包括测试结果格式化及归档 + +- **资源层** + + 提供硬件设备,作为Compass-CI 服务部署的设备以及测试的物理设备、虚拟机、容器资源;提供测试过程中依赖软件仓库及依赖仓库、部署服务器。 + + +### 应用场景 + +- **聚合开发者测试用例** + + 开发者向代码托管平台提交代码、测试用例、测试工具时,Compass-CI自动获取提交的代码开展构建测试,同时获取开发者编写到开源软件包的测试用例进行自动化测试,并反馈测试结果。 + +- **登录环境随时调测** + + 测试过程中,发现有 Bug 时,可随时提供调测资源服务,登录到环境进行复现、调试。 + +- **快照数据分析对比** + + 测试过程中,全面监控系统运行信息(CPU/MEM/IO/网络等),对测试过程中的数据做快照归档,提供多次测试之间快照数据分析对比能力,协助开发者对测试结果开展分析,找出影响测试结果的因素。 + +- **辅助定界** + + 测试过程中,发现有 Bug 时,自动触发 Regression 机制,找出首次引入问题 Commit 信息。 + + + +## 使用Compass-CI +> 您只需要先注册自己的仓库,当您的仓库有commit提交时,构建测试会自动执行,并且可在我们的网站中查看结果。 + +- 注册自己的仓库 + + 如果您想在 `git push` 的时候, 自动触发测试, 那么需要把您的公开 git url 添加到如下仓库[upstream-repos](https://gitee.com/wu_fengguang/upstream-repos)。 + ```bash + git clone https://gitee.com/wu_fengguang/upstream-repos.git + less upstream-repos/README.md + ``` + +- `git push` + + 更新仓库,自动触发测试 + +- 在网页中搜索并查看结果 + + web: https://compass-ci.openeuler.org/jobs + + + +## 高级功能 + +### 添加OS支持 + +制作一个initramfs启动的cgz镜像,当系统内核启动时,直接从打包的cgz镜像中导出rootfs,在内存中展开文件系统,利用磁盘的高速缓存机制让系统直接在内存中读写文件,以提升系统的I/O性能。 + +#### 操作步骤 + + 1. 获取对应os版本的rootfs(以openEuler为例) + - 通过docker获取rootfs + + 1) 下载openEuler官方提供的docker镜像压缩包 + + ```bash + wget https://repo.openeuler.org/openEuler-20.03-LTS/docker_img/aarch64/openEuler-docker.aarch64.tar.xz + ``` + 2) 加载docker镜像 + ```bash + docker load -i openEuler-docker.aarch64 + ``` + + 3) 启动openEuler容器 + ```bash + docker run -id openeuler-20.03-lts + ``` + 4) 拷贝docker的rootfs + ```bash + docker cp -a docker run -d openeuler-20.03-lts:/ openEuler-rootfs + ``` + - 通过qemu.img(qcow2格式)获取rootfs (以openEuler为例) + + + 1) 下载openEuler官方网站提供的qcow2格式镜像 + ```bash + wget https://repo.openeuler.org/openEuler-20.03-LTS/virtual_machine_img/aarch64/openEuler-20.03-LTS.aarch64.qcow2.xz + ``` + 2) 使用{compass-ci}/container/qcow2rootfs 制作rootfs + ```bash + cd {compass-ci}/container/qcow2rootfs + ./run openEuler-20.03-LTS.aarch64.qcow2.xz /tmp/openEuler-rootfs + ``` + 2. 定制rootfs + 1. 使用chroot命令切换到rootfs中(此步骤需要root权限) + ```bash + chroot openEuler-rootfs + ``` + 2. 根据个人需要安装并配置服务 + + a. 修改root密码 + b. 配置ssh服务 + c. 检查系统时间 + d. 如果使用docker制作osimage还需要以下操作: + > 1. 安装所需版本内核 + > 2. 从centos官方网站下载内核rpm包 + > 3. 使用yum进行安装 + > 4. 删除docker环境变量文件 + + 3. 退出rootfs,并打包 + ```bash + cd $rootfs + find . | coip -o -Hnewc |gzip -9 > $os_name.cgz + ``` +#### FAQ +1. 日志报错 “Unable to mount root fs on unknown-block” + - 问题现象 + ```bash + [ 0.390437] List of all partitions: + [ 0.390806] No filesystem could mount root, tried: + [ 0.391489] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) + ... + [ 0.399404] Memory Limit: none + [ 0.399749] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]--- + ``` + - 解决方法 + + 1)启动内存不足,增加内存可解决。 + 2)内核文件权限不足,给予644权限。 + +2. 系统运行缓慢 + + - 问题现象 + + 打包镜像体积过大,会消耗很大内存 + - 解决方法 + + 建议用户根据具体需要对rootfs进行裁剪。 + + +## 呼吁合作 + - 增强 git bisect 能力 + - 增强数据分析能力 + - 增强数据结果可视化能力 diff --git a/doc/pictures/compass-ci-architecture.png b/doc/pictures/compass-ci-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..69736b7bd632d634305ad829af15d764b255edb4 GIT binary patch literal 63131 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 literal 0 HcmV?d00001 -- Gitee