From 6e981806f843d18a581cf697ca7e7d3e2e8215ee Mon Sep 17 00:00:00 2001 From: Looking <2392863668@qq.com> Date: Fri, 25 Sep 2020 11:05:49 +0800 Subject: [PATCH] update doc/tutorial.md. format improve --- doc/tutorial.md | 88 ++++++++++++++++++++++++------------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/doc/tutorial.md b/doc/tutorial.md index e3d6b386..866cf33c 100644 --- a/doc/tutorial.md +++ b/doc/tutorial.md @@ -5,7 +5,7 @@ ### 概念 -Compass-CI 是一个可持续集成的软件平台。为开发者提供针对上游开源软件(来自 Github,Gitee,Gitlab 等托管平台)的测试服务、登录服务、故障辅助定界服务和基于历史数据的分析服务。通过Compass-CI,社区开发者可以将开源软件快速引入openEuler社区,并补充更多的测试用例,共同构建一个开放、完整的开源软件生态系统。 +Compass-CI 是一个可持续集成的软件平台。为开发者提供针对上游开源软件(来自 Github, Gitee, Gitlab 等托管平台)的测试服务、登录服务、故障辅助定界服务和基于历史数据的分析服务。通过 Compass-CI,社区开发者可以将开源软件快速引入 openEuler 社区,并补充更多的测试用例,共同构建一个开放、完整的开源软件生态系统。 ### 功能描述 @@ -30,7 +30,7 @@ Compass-CI 是一个可持续集成的软件平台。为开发者提供针对上 - 聚合开发者测试用例 - 开发者向代码托管平台提交代码、测试用例、测试工具时,Compass-CI自动获取提交的代码开展构建测试,同时获取开发者编写到开源软件包的测试用例进行自动化测试,并反馈测试结果。 + 开发者向代码托管平台提交代码、测试用例、测试工具时,Compass-CI 自动获取提交的代码开展构建测试,同时获取开发者编写到开源软件包的测试用例进行自动化测试,并反馈测试结果。 - 登录环境随时调测 @@ -46,28 +46,28 @@ Compass-CI 是一个可持续集成的软件平台。为开发者提供针对上 -## 使用Compass-CI -> 当您注册之后,便可以以编写yaml文件并通过我们的工具上传任务以进行自定义测试,测试功能将尽快上线。 +## 使用 Compass-CI +> 当您注册之后,便可以以编写 yaml 文件并通过我们的工具上传任务以进行自定义测试,测试功能将尽快上线。 - 注册自己的仓库 - 如果您想在 `git push` 的时候, 自动触发测试, 那么需要把您的公开 git url 添加到如下仓库[upstream-repos](https://gitee.com/wu_fengguang/upstream-repos)。 + 如果您想在 `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 ``` -### 编写job yaml文件 +### 编写 job yaml 文件 -#### job yaml简介 +#### job yaml 简介 job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAML_for_ruby.html)的格式编写,所有 job 文件位于```$LKP_SRC/jobs```路径下。[$LKP_SRC](https://gitee.com/wu_fengguang/lkp-tests) -#### job yaml的结构 +#### job yaml 的结构 - 标识头部 Header(必选) - 每一个job文件的开始部分,都有一些基础的描述信息,称之为yaml的Header。头部主要有suite和category,suite是测试套的名称。category是测试类型,包括benchmarch(性能测试)/functional(功能测试)/noise-benchmark(不常用)。 + 每一个 job 文件的开始部分,都有一些基础的描述信息,称之为 yaml 的 Header。头部主要有 suite 和 category,suite 是测试套的名称。category 是测试类型,包括 benchmarch(性能测试)/functional(功能测试)/noise-benchmark(不常用)。 ```yaml suite: netperf \\测试套名称 @@ -76,7 +76,7 @@ job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAM - 测试脚本和参数(必选) - - 测试脚本位于```$LKP_SRC/tests```,```$LKP_SRC/daemon```路径下。job yaml中写入与上述路径中脚本相匹配的文件,将其视为可执行脚本。 + - 测试脚本位于```$LKP_SRC/tests```,```$LKP_SRC/daemon```路径下。job yaml 中写入与上述路径中脚本相匹配的文件,将其视为可执行脚本。 ``` $LKP_SRC/setup @@ -138,43 +138,43 @@ job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAM ### 比较测试结果 -### 提交borrow任务 +### 提交 borrow 任务 ### 提交 bisect 任务 ## 高级功能 -### 添加OS支持 +### 添加 OS 支持 -制作一个initramfs启动的cgz镜像,当系统内核启动时,直接从打包的cgz镜像中导出rootfs,在内存中展开文件系统,利用磁盘的高速缓存机制让系统直接在内存中读写文件,以提升系统的I/O性能。 +制作一个 initramfs 启动的 cgz 镜像,当系统内核启动时,直接从打包的 cgz 镜像中导出 rootfs,在内存中展开文件系统,利用磁盘的高速缓存机制让系统直接在内存中读写文件,以提升系统的 I/O 性能。 #### 操作步骤 - 1. 获取对应os版本的rootfs(以openEuler为例) - - 通过docker获取rootfs + 1. 获取对应 os 版本的 rootfs(以 openEuler 为例) + - 通过 docker 获取 rootfs - 1) 下载openEuler官方提供的docker镜像压缩包 + 1) 下载 openEuler 官方提供的 docker 镜像压缩包 ```bash wget https://repo.openeuler.org/openEuler-20.03-LTS/docker_img/aarch64/openEuler-docker.aarch64.tar.xz ``` - 2) 加载docker镜像 + 2) 加载 docker 镜像 ```bash docker load -i openEuler-docker.aarch64 ``` - 3) 启动openEuler容器 + 3) 启动 openEuler 容器 ```bash docker run -id openeuler-20.03-lts ``` - 4) 拷贝docker的rootfs + 4) 拷贝 docker 的 rootfs ```bash docker cp -a docker run -d openeuler-20.03-lts:/ openEuler-rootfs ``` - - 通过qemu.img(qcow2格式)获取rootfs (以openEuler为例) + - 通过 qemu.img(qcow2格式)获取 rootfs (openEuler为例) - 1) 下载openEuler官方网站提供的qcow2格式镜像 + 1) 下载 openEule r官方网站提供的 qcow2 格式镜像 ```bash wget https://repo.openeuler.org/openEuler-20.03-LTS/virtual_machine_img/aarch64/openEuler-20.03-LTS.aarch64.qcow2.xz ``` @@ -184,22 +184,22 @@ job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAM ./run openEuler-20.03-LTS.aarch64.qcow2.xz /tmp/openEuler-rootfs ``` 2. 定制rootfs - 1. 使用chroot命令切换到rootfs中(此步骤需要root权限) + 1. 使用chroot命令切换到 rootfs (此步骤需要 root 权限) ```bash chroot openEuler-rootfs ``` 2. 根据个人需要安装并配置服务 - a. 修改root密码 - b. 配置ssh服务 + a. 修改 root 密码 + b. 配置 ssh 服务 c. 检查系统时间 - d. 如果使用docker制作osimage还需要以下操作: + d. 如果使用 docker 制作 osimage 还需要以下操作: > 1. 安装所需版本内核 - > 2. 从centos官方网站下载内核rpm包 - > 3. 使用yum进行安装 - > 4. 删除docker环境变量文件 + > 2. 从 centos 官方网站下载内核rpm包 + > 3. 使用 yum 进行安装 + > 4. 删除 docker 环境变量文件 - 3. 退出rootfs,并打包 + 3. 退出 rootfs,并打包 ```bash cd $rootfs find . | coip -o -Hnewc |gzip -9 > $os_name.cgz @@ -218,7 +218,7 @@ job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAM - 解决方法 1)启动内存不足,增加内存可解决。 - 2)内核文件权限不足,给予644权限。 + 2)内核文件权限不足,给予 644 权限。 2. 系统运行缓慢 @@ -227,7 +227,7 @@ job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAM 打包镜像体积过大,会消耗很大内存 - 解决方法 - 建议用户根据具体需要对rootfs进行裁剪。 + 建议用户根据具体需要对 rootfs 进行裁剪。 ### 添加测试用例 @@ -238,13 +238,13 @@ job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAM 1. 概述: - 使用PKGBUILD完成上游项目源代码的编译构建,同一项目可以使用不同PKGBUILD完成项目编译构建过程。 - PKGBUILD相关参考文档:https://wiki.archlinux.org/index.php/PKGBUILD + 使用 PKGBUILD 完成上游项目源代码的编译构建,同一项目可以使用不同 PKGBUILD 完成项目编译构建过程。 + PKGBUILD 相关参考文档:https://wiki.archlinux.org/index.php/PKGBUILD。 2. 步骤: 1) 注册仓库 - 如果您想在git push的时候, 自动触发测试, 那么需要把您的公开git url添加到如下仓库[upstream-repos](https://gitee.com/wu_fengguang/upstream-repos) + 如果您想在 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 @@ -254,17 +254,17 @@ job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAM 项目代码更新后自动触发构建任务,无需其他操作。 3) 查看结果 - web: https://compass-ci.openeuler.org/jobs + web: https://compass-ci.openeuler.org/jobs。 4) 备注 - 目前提供archlinux下已有PKGBUILD项目构建测试,暂不支持自主导入PKGBUILD文件。 - PKGBUILD存放路径: /srv/git/archlinux/*/*/PKGBUILD + 目前提供 archlinux 下已有 PKGBUILD 项目构建测试,暂不支持自主导入 PKGBUILD 文件。 + PKGBUILD 存放路径: /srv/git/archlinux/*/*/PKGBUILD。 ### depends - 依赖包构建 - 流程: 以下默认使用debian:sid版本进行,如果使用其他OS跑测试用例,则需要在lkp-tests/distro/adaptation/下将包名以键值对的形式写入对应OS的文件中 + 流程: 以下默认使用 debian:sid 版本进行,如果使用其他OS跑测试用例,则需要在 lkp-tests/distro/adaptation/ 下将包名以键值对的形式写入对应 OS 的文件中 > 例: `echo 'apache2: httpd' >> lkp-tests/distro/adaptation/openeuler` 1) 在lkp-tests/distro/depends/下新建一个与测试用例同名的文件 @@ -280,9 +280,9 @@ job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAM -### 本地搭建compass-ci 服务器节点 +### 本地搭建 compass-ci 服务器节点 -在openEuler系统一键部署compass-ci环境,当前已支持 openEuler-aarch64-20.03-LTS 系统环境,以下配置仅供参考。 +在 openEuler 系统一键部署 compass-ci 环境,当前已支持 openEuler-aarch64-20.03-LTS 系统环境,以下配置仅供参考。 #### 准备工作 - 硬件 @@ -299,21 +299,21 @@ job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAM 网络:可以访问互联网 >**说明:** - >openEuler系统安装详细操作请参考[添加测试用例](https://openeuler.org/zh/docs/20.03_LTS/docs/Installation/%E5%AE%89%E8%A3%85%E5%87%86%E5%A4%87.html) + >openEuler 系统安装详细操作请参考[添加测试用例](https://openeuler.org/zh/docs/20.03_LTS/docs/Installation/%E5%AE%89%E8%A3%85%E5%87%86%E5%A4%87.html) #### 操作指导 -1. 登录openEuler系统 +1. 登录 openEuler 系统 2. 创建工作目录并设置文件权限 ```bash mkdir demo && cd demo && umask 002 ``` -3. 克隆compass-ci项目代码到demo目录 +3. 克隆 compass-ci 项目代码到 demo 目录 ```bash git clone https://gitee.com/wu_fengguang/compass-ci.git ``` -4. 执行一键部署脚本install-tiny +4. 执行一键部署脚本 install-tiny ```bash cd compass-ci/sparrow && ./install-tiny ``` -- Gitee