diff --git a/web-ui/docs/zh/blog/zhengyaohui/2022-03-21-ci_guild-05.png b/web-ui/docs/zh/blog/zhengyaohui/2022-03-21-ci_guild-05.png index 2e09265e6a71ef394862250ad6d4c26b0912c6c6..d78c5fad1642091d065da2d0a434d41255eeeb16 100644 Binary files a/web-ui/docs/zh/blog/zhengyaohui/2022-03-21-ci_guild-05.png and b/web-ui/docs/zh/blog/zhengyaohui/2022-03-21-ci_guild-05.png differ diff --git a/web-ui/docs/zh/blog/zhengyaohui/2022-03-21-ci_guild.md b/web-ui/docs/zh/blog/zhengyaohui/2022-03-21-ci_guild.md index ddc2b9e026c53b97b86ea8a3557726b2e4c9f719..64406ae3f7f5a47973c70307dea9752bf4965b80 100644 --- a/web-ui/docs/zh/blog/zhengyaohui/2022-03-21-ci_guild.md +++ b/web-ui/docs/zh/blog/zhengyaohui/2022-03-21-ci_guild.md @@ -57,7 +57,9 @@ openEuler社区代码均托管在gitee上,为了保证代码提交质量,开 | check_install | 验证构建出的包能否安装 | [extra_work.py](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/build/extra_work.py) | | compare_package | x86-64环境下接口变更检查 | [compare_package.py](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/utils/compare_package.py) | -此外,门禁目前支持部分检查项(check_code_style、check_package_license、check_package_yaml_file和check_spec_file)的选择性配置,配置文件位于[ac.yaml](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/ac/framework/ac.yaml)。负责检查项PR回显的代码位于[gitee_comment.py](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/build/gitee_comment.py) +此外,门禁目前支持部分检查项(check_code_style、check_package_license、check_package_yaml_file和check_spec_file)的选择性配置,配置文件位于[ac.yaml](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/ac/framework/ac.yaml)。负责检查项PR回显的代码位于[gitee_comment.py](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/build/gitee_comment.py); + +check_package_license是调用远端服务(https://compliance3.openeuler.org/sca)实现的,如果报存在非OSI/FSF认证的License,可以参考 License准入列表 https://compliance.openeuler.org/license-list, 若需对License发起准入申请,请联系合规SIG组或chenyixiong3@huawei.com ### 2.5 基本检查项功能描述 @@ -72,16 +74,23 @@ openEuler社区代码均托管在gitee上,为了保证代码提交质量,开 ### 2.6 接口变更检查各检查项功能描述 -| 检查项 | 功能 | SUCCESS | FAILED | WARNING | -| ------------ | ------------------------------------------- | ------------------------------------------------------------ | ------------------- | ------- | -| add_rpms | 检查PR是否新增rpm包 | 相比于同分支上一个成功合入pr,无新增rpm包 | 不符合SUCCESS的情况 | 不涉及 | -| delete_rpms | 检查pr是否删除rpm包 | 相比于同分支上一个成功合入pr,无删除rpm包 | 不符合SUCCESS的情况 | 不涉及 | -| rpm_files | 检查pr生成的rpm包是否新增或者删除文件 | 相比于同分支上一个成功合入pr,每个rpm的文件列表无增减(不检查文件变化) | 不符合SUCCESS的情况 | 不涉及 | -| rpm_provides | 检查pr生成的rpm包提供的组件名,是否变化组件 | 相比于同分支上一个成功合入pr,每个rpm提供的组件名称无变化 | 不符合SUCCESS的情况 | 不涉及 | -| rpm_requires | 检查pr生成的rpm包依赖组件名是否变化 | 相比于同分支上一个成功合入pr,每个rpm依赖的组件名称无变化 | 不符合SUCCESS的情况 | 不涉及 | -| check_abi | 检查pr生成的rpm包二进制接口是否变化(C++) | 相比于同分支上一个成功合入pr,每个rpm的二进制接口无变化 | 不符合SUCCESS的情况 | 不涉及 | -| check_jabi | 检查pr生成的rpm包二进制接口是否变化(java) | 相比于同分支上一个成功合入pr,每个rpm的二进制接口无变化 | 不符合SUCCESS的情况 | 不涉及 | -| check_kabi | 检查pr生成的rpm包二进制接口是否变化(内核) | 相比于同分支上一个成功合入pr,每个rpm的二进制接口无变化 | 不符合SUCCESS的情况 | 不涉及 | +| 检查项 | 功能 | SUCCESS | FAILED | WARNING | +| -------------- | ------------------------------------------- | ------------------------------------------------------------ | ------------------- | ------- | +| add_rpms | 检查PR是否新增rpm包 | 相比于同分支上一个成功合入pr,无新增rpm包 | 不符合SUCCESS的情况 | 不涉及 | +| delete_rpms | 检查pr是否删除rpm包 | 相比于同分支上一个成功合入pr,无删除rpm包 | 不符合SUCCESS的情况 | 不涉及 | +| rpm_files | 检查pr生成的rpm包是否新增或者删除文件 | 相比于同分支上一个成功合入pr,每个rpm的文件列表无增减(不检查文件变化) | 不符合SUCCESS的情况 | 不涉及 | +| rpm_provides | 检查pr生成的rpm包提供的组件名,是否变化组件 | 相比于同分支上一个成功合入pr,每个rpm提供的组件名称无变化 | 不符合SUCCESS的情况 | 不涉及 | +| rpm_requires | 检查pr生成的rpm包依赖组件名是否变化 | 相比于同分支上一个成功合入pr,每个rpm依赖的组件名称无变化 | 不符合SUCCESS的情况 | 不涉及 | +| check_abi | 检查pr生成的rpm包二进制接口是否变化(C++) | 相比于同分支上一个成功合入pr,每个rpm的二进制接口无变化 | 不符合SUCCESS的情况 | 不涉及 | +| check_jabi | 检查pr生成的rpm包二进制接口是否变化(java) | 相比于同分支上一个成功合入pr,每个rpm的二进制接口无变化 | 不符合SUCCESS的情况 | 不涉及 | +| check_kabi | 检查pr生成的rpm包二进制接口是否变化(内核) | 相比于同分支上一个成功合入pr,每个rpm的二进制接口无变化 | 不符合SUCCESS的情况 | 不涉及 | +| rpm_cmd | 检查pr生成的rpm包命令文件是否有变化 | 相比于同分支上一个成功合入pr,每个rpm的命令文件无变化 | 不符合SUCCESS的情况 | 不涉及 | +| rpm_header | 检查pr生成的rpm包头文件是否有变化 | 相比于同分支上一个成功合入pr,每个rpm的头文件无变化 | 不符合SUCCESS的情况 | 不涉及 | +| rpm_service | 检查pr生成的rpm包服务文件是否有变化 | 相比于同分支上一个成功合入pr,每个rpm的服务文件无变化 | 不符合SUCCESS的情况 | 不涉及 | +| kconfig | 检查pr生成的rpm包内核配置是否有变化(内核) | 相比于同分支上一个成功合入pr,每个rpm的内核配置无变化 | 不符合SUCCESS的情况 | 不涉及 | +| service_detail | 检查pr生成的rpm包服务文件配置是否有变化 | 相比于同分支上一个成功合入pr,每个rpm的服务文件配置无变化 | 不符合SUCCESS的情况 | 不涉及 | +| rpm lib | 检查pr生成的rpm包库文件是否有变化 | 相比于同分支上一个成功合入pr,每个rpm的库文件无变化 | 不符合SUCCESS的情况 | 不涉及 | +| rpm symbol | 检查本次pr是否影响到其它包 | 相比于同分支上一个成功合入pr,本次pr可能会影响到其它包 | 不符合SUCCESS的情况 | 不涉及 | ## 3 openeuler门禁检查项 @@ -91,16 +100,17 @@ openEuler社区代码均托管在gitee上,为了保证代码提交质量,开 ### 3.2 检查项对应门禁代码位置 -| 检查项 | 功能描述 | 主要代码位置 | -| -------------- | ------------------------------- | ------------------------------------------------------------ | -| check_code | 编码规范检查 | [check_code.py](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/ac/acl/openlibing/check_code.py) | -| check_sca | 代码片段扫描 | [check_sca.py](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/ac/acl/sca/check_sca.py) | -| x86-64/仓库名 | x86-64环境下包构建及构建后检查 | 维护者自行实现,不属于门禁代码 | -| aarch64/仓库名 | aarch64环境下包构建及构建后检查 | 同上 | +| 检查项 | 功能描述 | 主要代码位置 | +| --------------------- | ------------------------------- | ------------------------------------------------------------ | +| check_code | 编码规范检查 | [check_code.py](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/ac/acl/openlibing/check_code.py) | +| check_sca | 代码片段扫描 | [check_sca.py](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/ac/acl/sca/check_sca.py) | +| check_package_license | license合法性检查 | [check_openeuler_license.py](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/ac/acl/package_license/check_openeuler_license.py) | +| x86-64/仓库名 | x86-64环境下包构建及构建后检查 | 维护者自行实现,不属于门禁代码 | +| aarch64/仓库名 | aarch64环境下包构建及构建后检查 | 同上 | 此外,门禁支持检查项check_openlibing和check_sca的选择性配置,配置文件位于[ac.yaml](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/ac/framework/ac.yaml)。负责检查项PR回显的代码位于[gitee_comment.py](https://gitee.com/openeuler/openeuler-jenkins/blob/master/src/build/gitee_comment.py) -当前check_openlibing是调用远端服务(https://majun.osinfra.cn:8384/api/openlibing/codecheck)实现的;check_sca则是调用远端服务(https://sca-beta.osinafra.cn)实现的。 +当前check_openlibing是调用远端服务(https://majun.osinfra.cn:8384/api/openlibing/codecheck)实现的;check_sca是调用远端服务(https://sca-beta.osinafra.cn)实现的;check_package_license则是调用远端服务(https://compliance3.openeuler.org/sca)实现的。 # 二、 门禁结果答疑&&误报反馈 @@ -108,14 +118,14 @@ openEuler社区代码均托管在gitee上,为了保证代码提交质量,开 | 责任田 | 责任人 | | ------------------------------------------------------------ | ------------------------------------------------------------ | -| 门禁总接口人 | [郑耀辉](https://gitee.com/open_euler/dashboard/members/zhengyaohui) | +| 门禁总接口人 | [王欢](https://e.gitee.com/open_euler/members/trend/wanghuan158) | | community仓库维护人员 | [曹志](https://gitee.com/open_euler/dashboard/members/georgecao), [刘奇 ](https://gitee.com/open_euler/dashboard/members/liuqi469227928), [赵春江](https://e.gitee.com/open_euler/members/trend/dakang_siji) | | obs_meta仓库维护人员 | [董杰](https://e.gitee.com/open_euler/members/trend/dongjie110) | | release_management仓库维护人员 | [董杰](https://e.gitee.com/open_euler/members/trend/dongjie110) | -| 软件包单仓门禁维护人员 | [王欢](https://e.gitee.com/open_euler/members/trend/wanghuan158), [程少巍](https://e.gitee.com/open_euler/members/trend/MementoMoriCheng), [郑耀辉](https://gitee.com/open_euler/dashboard/members/zhengyaohui) | +| 软件包单仓门禁维护人员 | [王欢](https://e.gitee.com/open_euler/members/trend/wanghuan158), [程少巍](https://e.gitee.com/open_euler/members/trend/MementoMoriCheng) | | 基础设施维护(包括obs、gitee、jenkins基础服务,也包括硬件和网络)人员 | [曹志](https://gitee.com/open_euler/dashboard/members/georgecao), [刘奇 ](https://gitee.com/open_euler/dashboard/members/liuqi469227928), [赵春江](https://e.gitee.com/open_euler/members/trend/dakang_siji) | | obs工程维护人员 | [王冲](https://gitee.com/open_euler/dashboard/members/wangchong1995924), [夏森林](https://e.gitee.com/open_euler/members/trend/small_leek), [周夏香](https://e.gitee.com/open_euler/members/trend/zhouxiaxiang) | -| majun维护人员 | 张亚雄(openlibing@163.com) | +| majun维护人员 | [张亚雄](openlibing@163.com) | 注:1. 软件包单仓门禁中的代码片段扫描(check_sca)和编码规范检查(check_code)是通过调用majun平台服务实现的 @@ -137,7 +147,7 @@ openEuler社区代码均托管在gitee上,为了保证代码提交质量,开 # 三、门禁代码上线流程 -依次包括3个步骤:向门禁代码仓提交并合入PR(找maintainer);为此次提交生成tag(找maintainer);更新容器镜像(找门禁看护人员[王欢](https://e.gitee.com/open_euler/members/trend/wanghuan158), [程少巍](https://e.gitee.com/open_euler/members/trend/MementoMoriCheng), [郑耀辉](https://gitee.com/open_euler/dashboard/members/zhengyaohui))。少数情况下需要门禁看护人员修改jenkins配置。 +依次包括3个步骤:向门禁代码仓提交并合入PR(找maintainer);为此次提交生成tag(找maintainer);更新容器镜像(找门禁看护人员[王欢](https://e.gitee.com/open_euler/members/trend/wanghuan158), [程少巍](https://e.gitee.com/open_euler/members/trend/MementoMoriCheng))。少数情况下需要门禁看护人员修改jenkins配置。 ## 1. 提交并合入PR