From ac6d3441246fdcaed930ccdfec99c609f7f30392 Mon Sep 17 00:00:00 2001 From: Liuhua Date: Thu, 1 Sep 2022 06:35:12 +0000 Subject: [PATCH] =?UTF-8?q?CI=E6=B5=8B=E8=AF=95=E5=8D=95=EF=BC=8C=E8=AF=B7?= =?UTF-8?q?=E5=8B=BF=E5=90=88=E5=85=A5!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Liuhua --- ...03\351\231\220\347\224\263\350\257\267.md" | 9 + ...15\347\275\256\346\214\207\345\215\227.md" | 207 ++++++++++++++++++ ...23\346\236\234\350\257\264\346\230\216.md" | 13 ++ 3 files changed, 229 insertions(+) create mode 100644 "OpenHarmony\347\244\276\345\214\272\345\261\217\350\224\275\351\227\256\351\242\230\346\235\203\351\231\220\347\224\263\350\257\267.md" create mode 100644 "Openharmony\347\244\276\345\214\272cicd\351\205\215\347\275\256\346\214\207\345\215\227.md" create mode 100644 "gitee\351\235\231\346\200\201\346\243\200\346\237\245\347\273\223\346\236\234\345\222\214CI\351\227\250\346\210\267codecheck\346\243\200\346\237\245\347\273\223\346\236\234\350\257\264\346\230\216.md" diff --git "a/OpenHarmony\347\244\276\345\214\272\345\261\217\350\224\275\351\227\256\351\242\230\346\235\203\351\231\220\347\224\263\350\257\267.md" "b/OpenHarmony\347\244\276\345\214\272\345\261\217\350\224\275\351\227\256\351\242\230\346\235\203\351\231\220\347\224\263\350\257\267.md" new file mode 100644 index 0000000..bb46446 --- /dev/null +++ "b/OpenHarmony\347\244\276\345\214\272\345\261\217\350\224\275\351\227\256\351\242\230\346\235\203\351\231\220\347\224\263\350\257\267.md" @@ -0,0 +1,9 @@ +# OpenHarmony社区CI门禁屏蔽问题权限申请 + +CI门禁(http://ci.openharmony.cn)会根据gitee的开源API和https://gitee.com/openharmony/community/blob/master/zh/committer.md文件中的信息每天凌晨自动解析gitee上面openharmony开源项目下所有仓的committer信息,仓的committer具有该仓的问题屏蔽权限.非committer人员或部分未解析出来的仓的committer想要申请CI门禁屏蔽问题权限,请参考申请模板填写后邮件发送至 刘华 lwx867300,抄送丛林 00565983、王意明 00335618,申请成功后即屏蔽代码问题,示例如下. + +| 工号 | gitee用户名 | gitee项目名称 | 仓名 | +| --------- | ----------- | ------------- | -------------- | +| lwx867300 | liuhua22 | OpenHarmony | aafwk_standard | + + \ No newline at end of file diff --git "a/Openharmony\347\244\276\345\214\272cicd\351\205\215\347\275\256\346\214\207\345\215\227.md" "b/Openharmony\347\244\276\345\214\272cicd\351\205\215\347\275\256\346\214\207\345\215\227.md" new file mode 100644 index 0000000..d947e5c --- /dev/null +++ "b/Openharmony\347\244\276\345\214\272cicd\351\205\215\347\275\256\346\214\207\345\215\227.md" @@ -0,0 +1,207 @@ +# Openharmony社区cicd配置指南 + +# 1 cicd配置 + +## cicd配置直接影响代码门禁的每日构建的执行,是门禁体系的核心内容![img](http://image.huawei.com/tiny-lts/v1/images/deb9cced6bfdf95cc57ad5a2104184ab_555x103.jpg@900-0-90-f.jpg) + +# 2 登录 + +cicd配置工程地址 + +## ![img](http://image.huawei.com/tiny-lts/v1/images/c9cff1deb8b0c32b07fd447644bb5ff8_553x158.jpg@900-0-90-f.jpg)该网址需要Gitee账号授权,按提示登录Gitee账号授权登录即可 + +Tips:请确认Gitee账号邮箱处于公开状态,否则将无法进行门禁工程创建 + +​ -> 邮箱管理 + +(1) 取消勾选【不公开我的邮箱地址】 + +(2) 设置公开邮箱 + +(3) 请确保邮箱为华为邮箱,当前仅支持华为账号申请,即邮箱后缀为@huawei.com + +![img](http://image.huawei.com/tiny-lts/v1/images/97d5224ff1ce925ecec1e955b44f8ada_554x321.jpg@900-0-90-f.jpg) + +# 3 创建申请 + + 我的申请 -> 创建申请 -> 填写申请信息 -> 提交审核 + +![img](http://image.huawei.com/tiny-lts/v1/images/2029fa3792a1cc434d0f66c31845c82e_554x179.jpg@900-0-90-f.jpg) + +![img](http://image.huawei.com/tiny-lts/v1/images/49fa202929db2afb57e2aac3d0381ed5_554x249.jpg@900-0-90-f.jpg) + +注:(1)新组织加入请先在组织内添加门禁公共账号openharmony_ci为成员 + +​ (2)如果对manifest不了解,请自行搜索相关概念,manifest仓库可参考openharmony社区 + +![img](http://image.huawei.com/tiny-lts/v1/images/dda4ab7989401171adcb1de2d2949266_446x271.jpg@900-0-90-f.jpg) + +# 4 等待审核通过 + + 在我的申请看到审批通过即为申请通过 + +# 5 创建工程 + +【流程】 我的工程 -> 创建工程 -> 关联申请单 -> 按提示填写相关信息 -> 创建 + +![img](http://image.huawei.com/tiny-lts/v1/images/6d1bb1db5bbaa569f3b604863243c4bf_554x196.jpg@900-0-90-f.jpg) + +## 5.1 选择关联申请单 + +选择关联申请单即可关联工程名称和manifest分支信息 + +![img](http://image.huawei.com/tiny-lts/v1/images/a0ed98993fbada32aff41bed1107c814_553x240.jpg@900-0-90-f.jpg) + +## 5.2 工程描述 + +没有特殊要求,按需填写即可 + +## 5.3 选择编译模板(工程整体类型) + +模板分为三大类(静态检查、门禁构建、每日构建),可以单选、全选或两两任意组合,按需选择,选择后下方配置模板会相应变化 + +![img](http://image.huawei.com/tiny-lts/v1/images/211049edf5127484f190d9d24c7fc74c_553x291.jpg@900-0-90-f.jpg) + +## 5.4 代码分支列表 & manifest文件列表 + +Manifest分支是跟随关联申请单绑定的,无需填写 + +![img](http://image.huawei.com/tiny-lts/v1/images/9bef64105a8ddb5b670908598e1f390a_553x66.jpg@900-0-90-f.jpg) + +代码分支列表 & manifest文件列表,这两个列表是跟此项目manifest仓库的manifest分支紧密相关的,manifest文件列表即为该manifest分支下需要看护的manifest文件集合,代码分支列表为上述所有manifest文件内代码分支(revision,用户下载代码的实际分支)的集合,revision见下图 + +![img](http://image.huawei.com/tiny-lts/v1/images/f5f450cc1b4e4593806d5f3c7ba55a59_553x311.jpg@900-0-90-f.jpg) + +## 5.5 门禁构建配置 + +门禁配置后会在代码门禁页面出现配置的该形态(列),用于开发提交PR上库的门禁拦截 + +![img](http://image.huawei.com/tiny-lts/v1/images/916ebee4bbedfe04cc0384a025fbece2_554x381.jpg@900-0-90-f.jpg) + +![img](http://image.huawei.com/tiny-lts/v1/images/277b6a714e29a72b042277481f9bd3c6_554x274.jpg@900-0-90-f.jpg)【编译形态】此编译形态的名称,使用全英文,请勿取无意义名称,范例:hispark_taurus_LiteOS、dayu200、ohos-sdk + +【所属人】该形态创建时获取的登录码云账号(创建时无,修改才出现) + +【是否拦截门禁】是否开启拦截(创建时默认无法修改,创建完可修改),是则代表门禁失败会拦截PR不允许合入,否则代表该形态处于陪跑状态,成功与否不影响门禁最终结果 + +【使用高性能资源池】是否使用高性能资源池(创建时默认无法修改,创建完可修改),当前门禁资源分为两大类,16U32G和32U64G,选择是则会使用相对性能较高的资源池,建议按照设备层级选择L2以上设备使用高性能资源池 + +【buildDir】门禁构建的工作目录名称(创建时无,修改才出现),系统自动生成,请勿随意更改,主干master默认为harmony_master,其他项目分支默认使用harmony + +【dockerImage】华为云devcloud构建使用的swr公共镜像地址(创建时无,修改才出现),预先占位,当前华为云不支持动态传入该参数,故修改此处配置无法生效 + +【pipelineId】devcloud流水线id(创建时无,修改才出现),当前门禁流水线已归一,按照四个资源池分为4条不同的CI_BUILD流水线,无需更改 + +【compileLabel】编译标签(必填),系统自动生成,无需更改 + +【precompile】预编译命令(非必填),编译前的定制化动作,按需填写,例如bash build/prebuilts_download.sh + +【compileCMD】主编译命令(必填),按需填写即可,例如 build.sh –product-name=hi3516dv300 + +【afterCompile】编译后动作(非必填),编译后的定制化动作,比如一些特殊的测试,文件拷贝删除动作等,按需填写 + +【resultList】编译产物(必填),打包上传的产物路径集合,路径相对于代码根目录,多个使用空格分隔,支持结尾使用*匹配全部文件,例如 out/hispark_taurus/vendor.img out/ hispark_taurus/system.img out/xxx/xxx + +【manifestFile】Manifest文件(必填),该参数代表此形态对应的manfiest文件,只能填写一个,且需要该manifest文件存在上面的manifest文件列表中,如果修改涉及此manifest文件内的仓库,则需要验证该形态 + +【hasTest】是否包含测试(必填),选择是则展开测试参数,在编译完成后执行ecotest任务,否则不执行 + +【测试是否拦截】ecotest结果是否影响门禁最终结果(选填),选是则代表失败拦截,否则代表陪跑,不影响门禁最终结果 + +【testLabel】测试标签(选填),系统自动生成,无需更改 + +【EcoTestModule】测试模板名称(选填),需要填写Ecotest的模板名称,填写后自动调起对应ecotest模板,使用resultList的打包产物进行ecotest + +​ + + + +## 5.6 每日构建配置 + +每日构建配置对应版本级流水线,搭建后会每日执行,在ci看板的每日构建页签查看对应结果,也可在该页面手动触发 + +![img](http://image.huawei.com/tiny-lts/v1/images/aae4ff9d45397b639914fe90b42fcd65_553x390.jpg@900-0-90-f.jpg) + +![img](http://image.huawei.com/tiny-lts/v1/images/912f3d0f618839ac6516b2dccb581910_554x337.jpg@900-0-90-f.jpg) + +![img](http://image.huawei.com/tiny-lts/v1/images/fff3bbd9364cf24bfa2acb7a37122183_554x26.jpg@900-0-90-f.jpg) + +【编译形态】此编译形态的名称(必填),使用全英文,请勿取无意义名称,范例:hispark_taurus_LiteOS、dayu200、ohos-sdk + +【所属人】该形态创建时获取的登录码云账号(创建时无,修改才出现) + +【hardwareBoard】开发板型号(必填),例如Hi3516dv300,rk3568 + +【deviceLevel】设备层级(必填),当前L0、L1、L2任选其一,注意当前默认L2及以上使用高性能资源池 + +【precompile】预编译命令(非必填),编译前的定制化动作,按需填写,例如bash build/prebuilts_download.sh + +【compileCMD】主编译命令(必填),按需填写即可,例如 build.sh –product-name=hi3516dv300 + +【afterCompile】编译后动作(非必填),编译后的定制化动作,比如一些特殊的测试,文件拷贝删除动作等,按需填写 + +【resultList】编译产物(必填),打包上传的产物路径集合,路径相对于代码根目录,多个使用空格分隔,支持结尾使用*匹配全部文件,例如 out/hispark_taurus/vendor.img out/ hispark_taurus/system.img out/xxx/xxx + +【imgList】镜像包归档列表(选填),规则同resultList,区别于resultList,仅打包镜像产物,方便开发人员快速下载 + +【manifestFile】Manifest文件(必填),填写后代表该条每日构建代码下载的是该xml文件 + +【projectId】华为云devcloud项目id(创建时无,修改才出现),系统自动生成,无需更改 + +【pipelineId】devcloud流水线id(创建时无,修改才出现),当前门禁流水线已归一,按照四个资源池分为4条不同的DAILY_BUILD流水线,无需更改 + +【triggerScheduler】定时触发器(选填),按需填写后每天按照设定时间触发指定版本 + +触发时间:支持一次性填写多个,用空格分隔,仅支持时分填写,不支持秒级 + +版本类型:可选择每日版本、主干版本、商用版本 + +版本名称:每日版本则填写默认值defaultvalue,其他版本按需填写对应版本名称 + +【testList】测试配置列表(选填),按照给定的配置触发起对应的ecotest任务,支持配置多条同时触发 + +测试模板:填写需要触发的模板名称即可 + +是否多box:填是则会根据后面的TDD目录和XTS目录读取对应的测试套列表,传给ecotest调起多box任务 + +TDD目录:基于当前工作目录的TDD产物目录,供多box传参使用,例:out/产品型号/test/unittest + +XTS目录:基于当前工作目录的XTS产物目录,供多box传参使用,例:out/产品型号/suits + +【buildStageName】华为云构建阶段名称(创建时无,修改才出现),预先占位,当前华为云不支持动态传入该参数,故修改此处配置无法生效 + +【dockerImage】华为云devcloud构建使用的swr公共镜像地址(创建时无,修改才出现),预先占位,当前华为云不支持动态传入该参数,故修改此处配置无法生效 + +【buildDir】每日构建的工作目录名称(创建时无,修改才出现),系统自动生成,请勿随意更改,主干master默认为harmony_master,其他项目分支默认使用harmony + +## 5.7 静态检查配置 + +此处无需填写 + +![img](http://image.huawei.com/tiny-lts/v1/images/d5f96434fcd12db2d44066f9f0cbda71_553x89.jpg@900-0-90-f.jpg) + +## 5.8 点击创建 + +![img](http://image.huawei.com/tiny-lts/v1/images/07fa6cd2f658e98464a19f24d29f221b_357x98.png@900-0-90-f.png) + +# 6 查看和修改 + +创建成功后,会在我的工程内生成对应的创建记录,可以点击最右侧的查看和修改按钮进行查看和修改操作 + +![img](http://image.huawei.com/tiny-lts/v1/images/407977b2653efba8ac66670f314f74c9_553x112.jpg@900-0-90-f.jpg) + +# 7 触发代码门禁 + +## 在对应的代码仓库,提交PR(注意代码仓库和提交分支需要与前文配置的manifest文件和代码分支对应),评论start build即可触发门禁 + +![img](http://image.huawei.com/tiny-lts/v1/images/403042da63517b837ac903bc3cdee4e4_554x273.jpg@900-0-90-f.jpg) + +# 8 触发每日构建&获取版本 + +在每日构建页面选择配置好的流水线进行触发 + +![img](http://image.huawei.com/tiny-lts/v1/images/b6682a4b9b75cf1d4061212b59c33855_553x299.jpg@900-0-90-f.jpg) + +同样也在看板的每日构建页签获取对应版本 + +![img](http://image.huawei.com/tiny-lts/v1/images/07b23796f3e7a94a8dd5d0233fb3a279_554x207.jpg@900-0-90-f.jpg) \ No newline at end of file diff --git "a/gitee\351\235\231\346\200\201\346\243\200\346\237\245\347\273\223\346\236\234\345\222\214CI\351\227\250\346\210\267codecheck\346\243\200\346\237\245\347\273\223\346\236\234\350\257\264\346\230\216.md" "b/gitee\351\235\231\346\200\201\346\243\200\346\237\245\347\273\223\346\236\234\345\222\214CI\351\227\250\346\210\267codecheck\346\243\200\346\237\245\347\273\223\346\236\234\350\257\264\346\230\216.md" new file mode 100644 index 0000000..54ba341 --- /dev/null +++ "b/gitee\351\235\231\346\200\201\346\243\200\346\237\245\347\273\223\346\236\234\345\222\214CI\351\227\250\346\210\267codecheck\346\243\200\346\237\245\347\273\223\346\236\234\350\257\264\346\230\216.md" @@ -0,0 +1,13 @@ +gitee码云代码门禁检查未通过即codecheck检查结果failed(包含codecheck检查任务失败,codecheck检查出未解决问题两种情况),码云回写结果显示如图 +![img](http://image.huawei.com/tiny-lts/v1/images/f2af3363b94a0fba8d46998693d9aacb_1176x654.png@900-0-90-f.png) +此时点击codecheck 行的 >>,跳转至CI门户查看检查结果详情 +![img](http://image.huawei.com/tiny-lts/v1/images/666b09f8b07adb60ec213b8f89290793_854x421.png@900-0-90-f.png) +若代码门禁页,codecheck检查结果显示为失败,即codecheck任务执行失败,未执行完检查任务,无检查结果显示,如图 +![img](http://image.huawei.com/tiny-lts/v1/images/c69dadd64692ec912aeab9e2e56dcd2b_1866x814.png@900-0-90-f.png) +若打开代码弹窗,codecheck检查结果显示为不通过,表示codecheck检查任务执行完成,存在未解决问题,检查结果不通过 +![img](http://image.huawei.com/tiny-lts/v1/images/a09820b507ee125aa0b306fc7c37604f_1872x842.png@900-0-90-f.png) +gitee码云代码门禁检查通过即codecheck检查结果pass,码云回写结果显示如图 +![img](http://image.huawei.com/tiny-lts/v1/images/7b773dac4bbc4d9071583a3057db0ab1_1188x242.png@900-0-90-f.png) +此时点击codecheck 行的 >>,跳转至CI门户查看检查结果详情 + +![1648117784545](C:\Users\LWX867~1\AppData\Local\Temp\1648117784545.png) \ No newline at end of file -- Gitee