# docsci **Repository Path**: nicliuqi/docsci ## Basic Information - **Project Name**: docsci - **Description**: store scripts for docs CI - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-17 - **Last Updated**: 2023-03-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## openEuler/docs门禁文档 ### 背景 对openEuler/docs提交PR的质量控制,需要一个门禁把关。因门禁需要多个检查项,选择创建Jenkins Pipeline,并通过parallel实现并发。 ### 门禁流程 ![flowchart](./flowchart.png) - prepare 准备阶段,更新PR门禁标签状态为ci_processing,并做PR冲突检查。PR冲突直接异常推出,后续流程都异常。 - source code clone 拉取提交分支代码 - code check 主要的门禁检查项,下面的检查项并发执行,互不影响结果 - markdown lint 通过执行 `mdl [DIR/FILE]` 对一个目录或文件进行markdown格式检查。门禁中获取了差异文件,并对以`md`为后缀的文件做检查。 添加 `-s [RULEFILE]` 可为markdown lint设置更多规则,规则文件可参考本目录下的style.rb。 - codespell lint 通过执行 `codespell [DIR/FILE]` 对一个目录或文件进行英文单词拼写检查,在查询出错误单词后会联想给出相似的单词。 如 `docs/zh/docs/thirdparty_migration/springframework.md:13: Framwork ==> Framework` - link lint 通过执行 `python3 link_lint.py -p=[DIR/FILE]` 对一个目录或文件进行超链接检查,在查询出无法访问的超链接后会将问题抛出。 如 `ERROR:docs/zh/docs/StratoVirt/准备使用环境.md: line_124: Error link: https://dl-cdn.alpinelinux.org/alpine/ latest-stable/releases/x86_64/apline-minirootfs-3.16.0-x86_64.tar.gz` - comment 触发门禁构建结束之后,在PR中评论回显。 额外在构建失败之后添加提示,通过流水线视图查看异常报错。 ### 环境准备 - 生产环境镜像 生产环境镜像的制作仓库为 https://gitee.com/openeuler/tool-collections,将Dockerfile.jenkins-slave的内容 替换为本目录下Dockerfile的内容即可。 - 本地环境搭建 上面介绍了生产环境使用的镜像制作,接下来讲下如何在本地简单拉起一个测试环境。 使用本目录的Dockerfile.local制作一个镜像,用该镜像启动容器,容器内已集成了mdl和codespell。其余门禁中涉及的脚本可通过克隆本仓库获取。