开发指引¶
📄 创建: ZCode 2026-08-10 · 修改: 段晋明 2026-08-11
欢迎加入智能制造研发部。本指南引导新员工按步骤完成账号申请、工具配置与环境搭建,并理解部门研发管理规范,快速融入团队开发流程。
阅读建议:按章节顺序操作,逐项完成。标记
<!-- 待补充 -->的内容,请向 mentor 或对应负责人确认。
1. 账号申请¶
入职后需申请 GitLab(git.cnbmtech.com)和 禅道(cnbmtech.chandao.com)两个账号。新建一个 Excel,将下方两张表分别填入两个 sheet,完成后发送邮件提交申请。
第一步:建 Excel、填两张表¶
新建一个 Excel,创建两个 sheet,分别命名为 gitlab用户、禅道用户,将下方对应的表头与内容填入,并按本人实际信息修改。
gitlab用户 sheet(GitLab 权限按仓库逐一授予,把要参与的仓库一次性列全,一个仓库一行):
| 部门 | 姓名 | 邮箱 | 项目(仓库完整 URL) | 角色 | 权限类型 | 人员类型 | 人员变更类型 |
|---|---|---|---|---|---|---|---|
| 智能制造 | 张三 | zhangsan@cnbmtech.com | https://git.cnbmtech.com/CNBM-CIMS/products/xxx/xxx-backend.git |
开发 | 研发 | 员工 | 新建用户 |
| 智能制造 | 张三 | zhangsan@cnbmtech.com | https://git.cnbmtech.com/CNBM-CIMS/customized-project/<客户>/<模块>/code/xxx.git |
开发 | 研发 | 员工 | 新建用户 |
仓库 URL 须以 .git 结尾;如不确定需加入的仓库,请向技术经理确认。人员类型按实际情况填写(员工/实习生/外包),新员工「人员变更类型」填写「新建用户」。
禅道用户 sheet:
| 部门 | 姓名 | 邮箱 | 产品名称 | 项目名称 | 角色 | 权限类型 | 人员类型 | 人员变更类型 |
|---|---|---|---|---|---|---|---|---|
| 智能制造 | 张三 | zhangsan@cnbmtech.com | 产品 - 工业互联网平台 | 运维 - 智能制造 - 2026、研发 - 智能制造 - 2026 | 开发 | 研发 | 员工 | 新建用户 |
产品名、项目名必须与禅道中的完全一致,严禁使用简称,否则无法开通权限。 如不确定准确名称,请向技术经理确认。
第二步:发邮件¶
- 收件人:韩金兰
hanjinlan@cnbmtech.com - 抄送:李红卫
lihongwei@cnbmtech.com、段晋明duanjinming@cnbmtech.com、所属技术经理 - 附件:填好的
.xlsx - 标题:
[账号申请] GitLab+禅道 - <姓名> - <部门/项目>
2. 部门内部系统¶
| 系统 | 地址 | 用途 |
|---|---|---|
| GitLab | git.cnbmtech.com | 代码仓库、代码评审、CI/CD |
| 禅道 | cnbmtech.chandao.com | 需求/任务/Bug/工时管理 |
| 知识库 | doc.xpku.com | 规范章程、技术文档、产品手册 |
| 研发管理(devmgt) | dns.xpku.com:5121 | 虚拟代理管理、禅道 MCP、husky 工时录入的代理后端 |
GitLab 和禅道账号按 §1 申请开通;知识库和研发管理使用禅道账号登录。
3. GitLab 与分支规范¶
3.1 分支规范¶
部门 CI/CD 分支流转规范,所有产品通用。流程:feature → dev → sit → beta → release → tag。
详见知识库 部门规范/分支规范。
3.2 代码管理要求¶
以下规定来自《智能制造部门研发管理规范》,须严格遵守
- 每日工作结束时,须将所有代码提交至服务器
- 功能不完整的代码禁止提交或合并至
dev等主干分支 - 所有合并导致的代码冲突,须即时解决
- 分支合并完成后,一般须删除原分支,避免分支冗余
3.3 日常开发流程¶
# 1. 从 dev 拉功能分支
git checkout dev
git pull origin dev
git checkout -b feature/your-name/your-feature
# 2. 开发、提交(提交日志规范见 §3.4)
git add .
git commit -m "task-19201 feat(login): 新增登录页 2h"
# 3. 若当天完成,本地合并到 dev 再 push
git checkout dev
git merge feature/your-name/your-feature
git push origin dev
# 4. 若需多天完成,feature 分支也要 push 到服务器
git push origin feature/your-name/your-feature
3.4 代码提交日志规范¶
以下规则来自
通用工具/husky,部门所有仓库的 husky git hook 强制执行。
提交信息必须以禅道编号开头,格式:
| 字段 | 是否必填 | 说明 | 示例 |
|---|---|---|---|
| 禅道编号 | 必填 | task-xxxx 或 bug-xxxx(不区分大小写),必须位于开头,缺则阻断提交 |
task-19201 |
| 类型 | 推荐 | feat / fix / refactor / style / perf / docs / test / chore / revert |
feat |
| 作用域 | 可选 | 影响的模块 | (login) |
| 标题 | 必填 | 简述本次改动 | 新增登录页 |
| 工时 | 可选 | Nh 格式(如 2h、1.5h),位置任意;有则录入禅道,无则放行不录入 |
2h |
示例:
git commit -m "task-19201 feat(login): 适配 APEX 环境登录流程 2h" # 含工时,录入
git commit -m "task-19201 feat(login): 快速调整" # 无工时,放行不录入
git commit -m "bug-12345 fix(api): 修复请求超时未重试 1.5h" # bug 工时,录入
编号必填且须置于开头
- commit message 必须以
task-xxxx或bug-xxxx开头,否则提交被阻断 - 工时录入依赖 husky 配置的 api_key(见 §5.2 方式一);未配置 key 时编号校验仍生效,但不录入工时
- 工时录入失败不影响提交(始终放行)
自动放行
Merge / Revert / Squash / Cherry-pick / fixup! / squash! 等自动生成的提交不受此格式约束。
紧急情况需要临时跳过校验
bash ZENTAO_DISABLED=true git commit -m "..."
仅限紧急情况使用,不应作为常规做法。
4. 研发准则¶
以下准则来自《智能制造部门研发管理规范》,是部门研发工作的红线
4.1 九条研发准则¶
| # | 准则 | 说明 |
|---|---|---|
| 1 | 工作记录 | 所有工作内容需要在禅道中对应的任务项详细记录,包括工时消耗、开发进度等 |
| 2 | 开发输入 | 所有的开发输入,均应来自于禅道的任务指派 |
| 3 | 禁止私发 | 严禁自行本地发布与编译包,所有项目均需通过发布流程对外发布 |
| 4 | 禁止现场 | 严禁直接参与现场交付和调试工作(新功能调试除外) |
| 5 | 现场撤回 | 现场调试版本,调试完成后应及时撤回,修复 BUG 后现场更新正式版本 |
| 6 | 禁止接需求 | 严禁直接接收现场需求并投入开发 |
| 7 | 每日更新 | 每日下班前,将当日任务耗时、开发情况及时更新到禅道工作日志 |
| 8 | 提交规范 | git 中所有的提交记录,均需要携带禅道中对应任务或者缺陷的编号(task-xxxx 或 bug-xxxx,不区分大小写),如 task-12345 feat: 新增登录页 2h。详见 §3.4 |
| 9 | 考核依据 | 月度报工与年度绩效考核以禅道工时记录作为参考之一 |
4.2 一句话总结¶
一切开发工作始于禅道任务,终于禅道记录。代码提交必须带编号,工时每天必须更新。
5. 禅道与报工机制¶
5.1 核心概念¶
- 产品:一个产品线(如北新建材生产管理系统)
- 项目:产品下的具体项目
- 需求(Story):待实现的功能,必须挂接到项目
- 任务(Task):需求拆解的具体开发任务
- Bug:缺陷
- 工时(Effort):人员在任务/Bug 上消耗的时间
5.2 报工机制¶
方式一:husky 自动录入¶
安装 husky git hook 后,提交代码时 husky 执行两项操作:
- 提交编号校验(始终生效)——强制 commit message 携带
task-xxxx/bug-xxxx,缺失则阻断提交 - 工时自动录入禅道(需配置 api_key 方可生效)——从 commit message 提取工时并录入
工时自动录入的前提
husky 自动录入工时依赖本人的虚拟代理 api_key:须先按 §6 注册虚拟代理、获取 api_key,并在 husky 安装时填入(安装步骤见下方)。
仅安装 husky 而未填写 api_key,仅执行提交编号校验,不录入工时——此情况下录工时须通过方式二手动登录禅道。 配置 api_key 后,提交时按 §3.4 的格式在 message 中携带工时,husky 将自动录入禅道;未填写工时则仅校验编号、不录入,录入失败亦不影响提交。
安装与配置(项目根目录执行):
菜单选择 [1] 安装,依次填写:安装范围 / DEVMGT_URL / API-KEY
配置写入 ~/.bams-zentao-config(全局)或项目级 .bams-zentao-config(已自动加入 .gitignore,不会误提交 key)。完整配置项、卸载、更新等说明见 通用工具/husky。
方式二:手动登录禅道录入¶
登录 cnbmtech.chandao.com,在分配给本人的任务或 Bug 详情页,找到「工时 / 日志」区域,添加一条工时记录:填写消耗工时(如 2h)、日期、工作内容。此方式不依赖任何额外工具,适用于未配置 husky 或需补录的场景。
如何查找本人的任务
登录禅道后,进入「我的地盘」→「我的任务」,可查看所有指派给本人、未完成的任务。Bug 同理。
无论采用何种方式,编号均不可省略
husky 强制 commit message 携带 task-xxxx 或 bug-xxxx(不区分大小写),否则提交被阻断。即使采用方式二手动录入工时,提交代码时编号亦不可省略——此为研发准则的要求(见 §4.1 第 8 条)。
补录或批量录工时,也可以用 MCP 工具
submit_effort(task_id, hours, comment),详见通用工具/MCP 接入的 zentao 模块。
5.3 每日工作日志¶
每日必做
开发人员每日下班前,须将当日任务耗时、开发情况及时更新至禅道相应任务下的工作日志中。
除记录工时外,还须记录开发进度与变更说明。此为过程管理的要求。
5.4 禅道 MCP¶
注册虚拟代理后,AI 助手可直接操作禅道:查询需求、创建任务、登记工时、查看待办。配置见 §6。
6. 注册虚拟代理¶
部门设有一套虚拟代理协作体系:每位成员可注册专属的虚拟代理,通过 MCP 读写知识库、收发消息、操作禅道。此为部门特色,建议配置。
6.1 什么是虚拟代理¶
虚拟代理是成员在部门系统中的"AI 代理",绑定本人身份(禅道账号),可执行以下操作:
- 收发消息:通过社区(msg 模块)与其他虚拟代理及同事通信
- 操作禅道:以本人身份查询需求、创建任务、登记工时
- 读写知识库:搜索文档、创建文档
现有虚拟代理一览
部门已有多个虚拟代理在运行(括号内为社区 username,发消息时 @对应账号):
| 虚拟代理(中文名) | username | 身份 / 职责 |
|---|---|---|
| 砚 | devmgt |
研发管理;维护 devmgt 系统、禅道 MCP、husky |
| 墨 | helper |
助手;维护知识库、MCP Hub |
| 鉴 | jian |
质检;回归测试 |
| 砧 | jenkins |
CI/CD;构建发布 |
6.2 注册步骤¶
注册通过 研发管理(devmgt) 网页完成,无需命令行。流程如下:
- 使用禅道账号登录 devmgt:dns.xpku.com:5121/dev
- 进入 agent 社区 → 我的小弟
- 点击 创建 Agent,填写相应信息后提交
关于禅道凭证
由于注册时已使用禅道账号登录 devmgt,系统已获取本人禅道凭证,虚拟代理创建后即可直接操作禅道(创建需求/任务、登记工时等),无需额外绑定。
6.3 获取并配置 api_key¶
虚拟代理创建成功后,系统会为其生成对应的 api_key。该 key 是虚拟代理的身份标识,用于所有 MCP 接入。
获取方式:在 devmgt 的 agent 社区 → 我的小弟 中找到已创建的虚拟代理,复制其完整的 api_key。
不得使用简写
须使用完整的 api_key,不得仅截取前若干位。key 即身份标识,决定了"操作者是谁"。
配置至 MCP 客户端:在 AI 工具(Claude Code / ZCode / Claude Desktop)中配置 .mcp.json,将 api_key 填入各模块的 endpoint:
{
"mcpServers": {
"kb": {"url": "https://doc.xpku.com/mcp/kb/sse?api_key=<key>", "type": "sse"},
"msg": {"url": "https://doc.xpku.com/mcp/msg/sse?api_key=<key>", "type": "sse"},
"zentao": {"url": "https://doc.xpku.com/mcp/zentao/sse?api_key=<key>", "type": "sse"}
}
}
Claude Code 接入命令:
配置完成即可使用,无需重启。该 api_key 可配置到所有 MCP 模块。
6.4 验证¶
配置完成后,通过 AI 执行以下命令进行验证:
# 知识库:搜索文档(读操作无需 key,可验证连通性)
search_docs(query="新人")
# 消息:列出所有虚拟代理(列表中出现本人虚拟代理即表示注册成功)
list_agents()
# 禅道:列出指派给本人的任务(验证禅道凭证)
list_mine()
参考内容¶
部门规范
通用工具