代码拉取完成,页面将自动刷新
依托于华为云&jenkins 自动化执行的CI门禁工具,包含流水线编译、打包、测试及静态检查
/ci_tool
├── BuidDataCollectionSvr # 数据服务层
│ ├── BuidDataCollectionSvr.py # 主服务文件 flask 提供多个接口包括:分组服务、邮件发送、配置更新、资源利用率/构建数据查询
│ ├── comuptebuildgroup.py # 分组服务计算
│ ├── refresh_build_statistics.py # 定期刷新构建数据
│ └── cvr_function.py # 数据服务使用的函数
├── ci_build # 流水线构建脚本层
│ ├── ci_build.py # 门禁构建主脚本
│ ├── cloud_build.py # 云端构建主脚本
│ ├── fetch_pr.py # 拉取pr
│ ├── find404forCI.py # docs仓业务提供检查脚本
│ ├── findCNforCI.py # docs仓业务提供检查脚本
│ ├── findrela404forCI.py # docs仓业务提供检查脚本
│ ├── format_check.py # 格式化检查脚本 主要包括gn格式化检查和docs仓检查
│ ├── project_build.py # 执行编译
│ ├── reduce_unstripped_tdd_file.py # tdd用例精简脚本(测试领域定制)
│ ├── sync_code.py # repo init & repo sync 、打running点
│ └── upload_result_to_mongo.py # 上传打包文件、构建log、打end点闭环编译
├── ci_conf # 工具配置层
│ ├── .ssh # 已配置好公共账号信息的ssh
│ ├── .gitconfig # 已配置好公共账号信息的gitconfig
│ ├── common_config.py # 共用配置 用于各模块调用生成配置对象
│ ├── docker_file # 存放门禁自己制作镜像的Dockerfile
│ └── kube_yaml # 存放kubenetes集群相关yaml文件
├── common # 共用脚本收纳层
│ ├── Gitee_api.py # 码云api操作
│ ├── common_function.py # 一些共用函数
│ ├── datacenter.py # 华为云DDS mongo数据库操作
│ ├── manifest.py # manifest类 操作manifest xml
│ └── rabbitmq_handle.py # rabbitmq操作函数
├── consume_project # 消息消费脚本收纳层
│ ├── consume_end_to_be_finish.py # jenkins定时触发 将满足条件(所有pipeline为end)的event事件currentStatus置为end
│ ├── consume_event_finish.py # jenkins定时触发 消费event状态为finish的数据 监控test和codecheck完成情况 打回报告到码云 闭环event打点 发送邮件 私信
│ ├── consume_mq_schedule.py # jenkins定时触发 消费CC_Build_Task_Dispatch队列消息 生成各资源池构建唯一构建号,打schedule点,并将数据推送到各资源池队列中
│ ├── consume_schedule.py # jenkins定时触发 消费各资源池队列消息 资源不足时排队,按优先级消费调起流水线 并将pipeline状态置为trigger
│ ├── consume_submit.py # 合入队列消费脚本 定时从合入队列取任务,合入并发布tag
│ ├── submit.py # 合入脚本 webhook触发式,检查PR是否满足合入条件并将合入信息推送到合入队列
│ ├── watch_timeout_event.py # 看护event,若120分钟仍未结束,则强制关闭该event
│ └── watch_timeout_pipeline.py # 看护pipeline,处理异常流水线状态
├── daily_build # 每日构建层
│ ├── daily_build.py # 每日构建主脚本
│ ├── daily_pipeline_apscheduler.py # 每日构建定时触发器
│ ├── daily_pipeline_monitor.py # jenkins定时触发 扫描daily流水线状态,并打点供看板使用
│ └── simple_sync_code.py # daily流水线下载代码脚本 不涉及挑单
├── interception_control # 管控拦截层
│ ├── branch_owner_control.py # 要求特定分支的PR合入前需要特定人员审核评论approve
│ ├── create_translation_issue.py # docs仓业务定制,自动提ISSUE
│ ├── dco_control.py # 要求开发者在社区贡献前签署贡献协议DCO
│ ├── interception_controller.py # 管控拦截控制器,所有管控拦截入口
│ ├── static_check.py # 单独触发静态检查脚本
│ └── translation.yaml # docs仓业务定制配置
├── other_tools # 其他工具收纳层
│ ├── datacenter_clean.py # 自动清理数据库过期数据,打包归档到obs,删除过期数据
│ ├── generate_monthly_statistical_reports.py # 生成月度构建统计数据报告
│ ├── get_merged_pr_list_by_tag_collection.py # 获取指定时间段合入的PR列表,写入last_merged_pr_list.txt文件,供后续使用
│ ├── refresh_manifest_file.py # redis存储manifest自动刷新 webhook触发
│ ├── refresh_precise_dile.py # redis存储精准构建关系自动刷新 jenkins定时触发
│ ├── sync_mongo_cfg_to_consul.py # 将数据库配置同步到consul配置中心
│ └── trace_to_html_upload.py # 下载将给定的trace包,调用工具生成火焰图html文件
└── CC_Build_Task_Dispatch_Jenkins.py # 事件处理脚本 用于接收PR评论start build事件,调用分组服务,计算需要构建形态,生成schedule数据传入队列
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。