395 lines
11 KiB
Markdown
395 lines
11 KiB
Markdown
|
|
文件编号:YG-CMMI-CM-PD04
|
|||
|
|
发布日期:2023-06-30
|
|||
|
|
现行版本:2.2
|
|||
|
|
|
|||
|
|
商密【中】
|
|||
|
|
|
|||
|
|
代码提交规范
|
|||
|
|
|
|||
|
|
修订历史记录
|
|||
|
|
|
|||
|
|
日期
|
|||
|
|
2013-08-5
|
|||
|
|
|
|||
|
|
版本
|
|||
|
|
1.0 新增代码提交规范 张金金
|
|||
|
|
|
|||
|
|
批准
|
|||
|
|
李剑/陈明有 周立
|
|||
|
|
|
|||
|
|
作者/修改人
|
|||
|
|
|
|||
|
|
审核
|
|||
|
|
|
|||
|
|
说明
|
|||
|
|
|
|||
|
|
2014-03-24
|
|||
|
|
|
|||
|
|
1.1
|
|||
|
|
|
|||
|
|
2017-08-30
|
|||
|
|
|
|||
|
|
1.2
|
|||
|
|
|
|||
|
|
2022-09-9
|
|||
|
|
|
|||
|
|
2.0
|
|||
|
|
|
|||
|
|
2023-02-20
|
|||
|
|
|
|||
|
|
2.1
|
|||
|
|
|
|||
|
|
2023-06-30
|
|||
|
|
|
|||
|
|
2.2
|
|||
|
|
|
|||
|
|
张羡
|
|||
|
|
|
|||
|
|
杨莹
|
|||
|
|
|
|||
|
|
陈金银
|
|||
|
|
|
|||
|
|
陈斯华
|
|||
|
|
|
|||
|
|
李美平
|
|||
|
|
|
|||
|
|
增加代码提交时需写注释,便于构
|
|||
|
|
建系统识别变更集
|
|||
|
|
增加提交代码总则,增加附注 ”GRIS
|
|||
|
|
模块代码复审说明及操作”
|
|||
|
|
修订 1.2.1 适用部门 ;
|
|||
|
|
新增 2 角色与职责;
|
|||
|
|
新增 3 权限管理;
|
|||
|
|
修订 4.1 代码提交原则;
|
|||
|
|
修订 4.3.1 RTC 提交代码规范;
|
|||
|
|
新增 4.3.3 GIT 提交代码规范。
|
|||
|
|
修订适用范围、代码提交原则、增加
|
|||
|
|
代码库明细表。
|
|||
|
|
修订页眉中的商标引用,删除 RTC 代
|
|||
|
|
码提交规范章节
|
|||
|
|
|
|||
|
|
姚国全
|
|||
|
|
陈金银 刘发/王优
|
|||
|
|
|
|||
|
|
陈金银 黄德海
|
|||
|
|
|
|||
|
|
贾士中
|
|||
|
|
|
|||
|
|
向万红
|
|||
|
|
|
|||
|
|
姚国全
|
|||
|
|
|
|||
|
|
李锋
|
|||
|
|
|
|||
|
|
刘娟
|
|||
|
|
|
|||
|
|
远光软件股份有限公司 发布
|
|||
|
|
|
|||
|
|
远光软件股份有限公司
|
|||
|
|
|
|||
|
|
代码提交规范
|
|||
|
|
|
|||
|
|
文件编号
|
|||
|
|
发布日期
|
|||
|
|
|
|||
|
|
现行版本
|
|||
|
|
页 次
|
|||
|
|
|
|||
|
|
YG-CMMI-CM-PD04
|
|||
|
|
2023-06-30
|
|||
|
|
|
|||
|
|
2.2
|
|||
|
|
第 1 页 共 6 页
|
|||
|
|
|
|||
|
|
目 录
|
|||
|
|
|
|||
|
|
1. 引言 ................................................................................................................................................... 2
|
|||
|
|
1.1. 目的 ............................................................................................................................................................2
|
|||
|
|
1.2. 适用范围 ....................................................................................................................................................2
|
|||
|
|
1.2.1. 适用部门 ................................................................................................................................................2
|
|||
|
|
1.2.2. 适应业务 ................................................................................................................................................2
|
|||
|
|
2. 角色与职责 ............................................................................................................................................... 2
|
|||
|
|
3. 权限管理 ........................................................................................................................................... 2
|
|||
|
|
3.1. 用户管理及授权原则 ........................................................................................................................................2
|
|||
|
|
3.2. 代码权限开通或关闭流程 ........................................................................................................................3
|
|||
|
|
4. 规范描述 ........................................................................................................................................... 4
|
|||
|
|
4.1. 代码提交原则 ............................................................................................................................................4
|
|||
|
|
4.2. 代码库管理工具的特性规范 ....................................................................................................................4
|
|||
|
|
CC(ClearCase)提交代码规范 ..........................................................................................................4
|
|||
|
|
4.2.1.
|
|||
|
|
GIT 提交代码规范 .................................................................................................................................5
|
|||
|
|
4.2.2.
|
|||
|
|
5. 相关附件 ........................................................................................................................................... 5
|
|||
|
|
6. 相关文档 ........................................................................................................................................... 5
|
|||
|
|
7. 附代码库明细表(供参考) .............................................................................................................. 5
|
|||
|
|
|
|||
|
|
商密【中】
|
|||
|
|
|
|||
|
|
远光软件股份有限公司
|
|||
|
|
|
|||
|
|
代码提交规范
|
|||
|
|
|
|||
|
|
文件编号
|
|||
|
|
发布日期
|
|||
|
|
|
|||
|
|
现行版本
|
|||
|
|
页 次
|
|||
|
|
|
|||
|
|
YG-CMMI-CM-PD04
|
|||
|
|
2023-04-06
|
|||
|
|
|
|||
|
|
2.1
|
|||
|
|
第 2 页 共 6 页
|
|||
|
|
|
|||
|
|
1. 引言
|
|||
|
|
|
|||
|
|
1.1. 目的
|
|||
|
|
|
|||
|
|
为统一规范代码库用户管理及授权控制,规范代码提交,保证代码的安全性、完整性、可追溯性,
|
|||
|
|
|
|||
|
|
特制定本规范,用以保障代码管理工具 GIT 和 CC(ClearCase)等提交代码活动的有序开展。
|
|||
|
|
|
|||
|
|
1.2. 适用范围
|
|||
|
|
|
|||
|
|
1.2.1. 适用部门
|
|||
|
|
|
|||
|
|
适用于公司产品研发部门、全资子公司,控股子公司参考执行。
|
|||
|
|
|
|||
|
|
1.2.2. 适应业务
|
|||
|
|
|
|||
|
|
项目代码交付。
|
|||
|
|
|
|||
|
|
2. 角色与职责
|
|||
|
|
|
|||
|
|
序号
|
|||
|
|
|
|||
|
|
角色
|
|||
|
|
|
|||
|
|
职责
|
|||
|
|
|
|||
|
|
1
|
|||
|
|
|
|||
|
|
2
|
|||
|
|
|
|||
|
|
部门经理
|
|||
|
|
|
|||
|
|
项目经理
|
|||
|
|
/开发经理
|
|||
|
|
|
|||
|
|
负责审批本部门员工(含借调)提起的跨项目组代码权限申请。
|
|||
|
|
负责审批项目组内员工(含借调)提起的代码权限申请。
|
|||
|
|
及时关闭项目组调出、离职员工的代码权限。
|
|||
|
|
|
|||
|
|
3
|
|||
|
|
|
|||
|
|
开发工程师
|
|||
|
|
|
|||
|
|
4
|
|||
|
|
|
|||
|
|
配置管理工程师
|
|||
|
|
|
|||
|
|
负责发起代码权限开通或关闭申请。
|
|||
|
|
明确代码库权限开通或关闭范围。
|
|||
|
|
了解代码库使用规范及要求。
|
|||
|
|
借调员工加入项目组的接受项目组统一管理。
|
|||
|
|
员工调岗、离职时需及时申请权限关闭。
|
|||
|
|
负责代码库权限的设置。
|
|||
|
|
协助项目成员正常使用代码库。
|
|||
|
|
填写单据相关信息,更改单据状态。
|
|||
|
|
|
|||
|
|
3. 权限管理
|
|||
|
|
|
|||
|
|
3.1. 用户管理及授权原则
|
|||
|
|
1) 用户代码权限,须经过项目经理(开发经理)或者部门经理审批,在审批通过后方可设置权限。
|
|||
|
|
|
|||
|
|
2) 开通代码权限的用户,须妥善保管好自己的帐号和密码,不得转借他人使用,避免由此带来的泄密
|
|||
|
|
|
|||
|
|
及代码追溯困难等问题的风险。
|
|||
|
|
|
|||
|
|
3) 开通了代码权限的用户,发现帐号/密码泄漏,须及时修改密码,设置的密码应符合公司安全规范。
|
|||
|
|
|
|||
|
|
因不遵守规范造成严重后果的,将按公司相关要求处理。
|
|||
|
|
|
|||
|
|
商密【中】
|
|||
|
|
|
|||
|
|
远光软件股份有限公司
|
|||
|
|
|
|||
|
|
代码提交规范
|
|||
|
|
|
|||
|
|
文件编号
|
|||
|
|
发布日期
|
|||
|
|
|
|||
|
|
现行版本
|
|||
|
|
页 次
|
|||
|
|
|
|||
|
|
YG-CMMI-CM-PD04
|
|||
|
|
2023-04-06
|
|||
|
|
|
|||
|
|
2.1
|
|||
|
|
第 3 页 共 6 页
|
|||
|
|
|
|||
|
|
4) 开通了代码权限的用户,须严格按照代码提交规范要求及对应工具的操作手册进行代码提交,确保
|
|||
|
|
|
|||
|
|
代码的正确性、完整性及可追溯性。
|
|||
|
|
|
|||
|
|
5) 开通了代码权限的用户,在调岗、离职时,需将代码交付完整后,按流程申请权限关闭。
|
|||
|
|
|
|||
|
|
3.2. 代码权限开通或关闭流程
|
|||
|
|
|
|||
|
|
入口准则
|
|||
|
|
|
|||
|
|
1
|
|||
|
|
输入
|
|||
|
|
1
|
|||
|
|
|
|||
|
|
需要代码库权限开通或关闭
|
|||
|
|
|
|||
|
|
无
|
|||
|
|
|
|||
|
|
过程步骤
|
|||
|
|
|
|||
|
|
1.1 申请人在公司研发管理平台上新建《代码库权限申请单》,提交代码权限开通或关闭申请。
|
|||
|
|
申请人在《代码库权限申请单》填写相关内容,包括代码库地址、权限说明、执行人及其
|
|||
|
|
它需说明的内容,申请人申请所在项目组代码库权限的由项目经理(开发经理)审批,申
|
|||
|
|
|
|||
|
|
1.2
|
|||
|
|
|
|||
|
|
商密【中】
|
|||
|
|
|
|||
|
|
远光软件股份有限公司
|
|||
|
|
|
|||
|
|
代码提交规范
|
|||
|
|
|
|||
|
|
文件编号
|
|||
|
|
发布日期
|
|||
|
|
|
|||
|
|
现行版本
|
|||
|
|
页 次
|
|||
|
|
|
|||
|
|
YG-CMMI-CM-PD04
|
|||
|
|
2023-04-06
|
|||
|
|
|
|||
|
|
2.1
|
|||
|
|
第 4 页 共 6 页
|
|||
|
|
|
|||
|
|
请部门其他项目组代码库权限的由项目归属的部门经理审批。
|
|||
|
|
|
|||
|
|
1.3 申请人将《代码库权限申请单》提交给部门经理、或项目经理(开发经理)审批。
|
|||
|
|
|
|||
|
|
1.4 部门经理、或项目经理(开发经理)审批通过,转单给配置管理工程师进行权限设置。
|
|||
|
|
|
|||
|
|
1.5 配置管理工程师按单据设置相应代码权限,并完善单据信息,变更单据状态。
|
|||
|
|
|
|||
|
|
输出
|
|||
|
|
1
|
|||
|
|
|
|||
|
|
《代码库权限申请单》
|
|||
|
|
|
|||
|
|
出口准则
|
|||
|
|
|
|||
|
|
1
|
|||
|
|
|
|||
|
|
《代码库权限申请单》完整填写,权限已设置,单据内容已完善,单据状态已更改为结束。
|
|||
|
|
|
|||
|
|
裁剪
|
|||
|
|
裁剪内容 不可裁剪
|
|||
|
|
裁剪准则 无
|
|||
|
|
|
|||
|
|
4. 规范描述
|
|||
|
|
|
|||
|
|
4.1. 代码提交原则
|
|||
|
|
|
|||
|
|
1) 遵守已发布文档《YG-CMMI-CM-PD04 配置管理规范》中关于代码管理的所有原则。
|
|||
|
|
|
|||
|
|
2) 依据研发管理平台单据交付代码,没纳入版本的需求单/工作单,不允许提交代码至代码库。
|
|||
|
|
|
|||
|
|
3) 交付代码时必须按单号正确填写注释,格式如下:
|
|||
|
|
|
|||
|
|
注释必须含研发管理平台单据号,遵循以下三种要求:
|
|||
|
|
格式 1:单号 示例 843186
|
|||
|
|
格式 2:单号+空格+注释,示例 843186 注释内容
|
|||
|
|
格式 3:一个变更集可以对应多个单号,需都写入注释中,示例 843186 843187 注释内容
|
|||
|
|
补充说明:
|
|||
|
|
因解决编译报错修改的代码,关联导致编译报错时的代码变更集单据。
|
|||
|
|
解决合并冲突产生的变更集,关联产生冲突时的代码变更集单据。
|
|||
|
|
|
|||
|
|
4) 代码在本地构建通过后才能交付至代码库。
|
|||
|
|
|
|||
|
|
5) 所有提交发布流(分支)、受控流(分支)的代码需经复审后才可正式提交。各代码流(或分支)
|
|||
|
|
的具体管理要求请遵照发布文档《YG-CMMI-CM-PD04 配置管理规范(试行).pdf》中涉及的关于代
|
|||
|
|
码管理的所有原则。
|
|||
|
|
|
|||
|
|
6) 公司产品研发部门所有代码库的发布流(分支)、受控流(分支),原则上由配置管理工程师统一
|
|||
|
|
|
|||
|
|
创建和管理。
|
|||
|
|
|
|||
|
|
7) 未按以上原则进行代码提交和管理,造成代码问题的,依据公司相关规定进行处理。
|
|||
|
|
|
|||
|
|
4.2. 代码库管理工具的特性规范
|
|||
|
|
|
|||
|
|
4.2.1. CC(ClearCase)提交代码规范
|
|||
|
|
|
|||
|
|
1) 按单据号在研发管理平台上申请权限,由研发管理部部门经理审批后开通权限。
|
|||
|
|
|
|||
|
|
商密【中】
|
|||
|
|
|
|||
|
|
远光软件股份有限公司
|
|||
|
|
|
|||
|
|
代码提交规范
|
|||
|
|
|
|||
|
|
文件编号
|
|||
|
|
发布日期
|
|||
|
|
|
|||
|
|
现行版本
|
|||
|
|
页 次
|
|||
|
|
|
|||
|
|
YG-CMMI-CM-PD04
|
|||
|
|
2023-04-06
|
|||
|
|
|
|||
|
|
2.1
|
|||
|
|
第 5 页 共 6 页
|
|||
|
|
|
|||
|
|
2) 开发工程师在 CC 中提交代码,选中要检出的文件,填写修改该文件的研发管理平台中单据号,如
|
|||
|
|
|
|||
|
|
果多个文件需要同时修改,则选中多个文件,一起检出,填写一个单号即可。
|
|||
|
|
|
|||
|
|
3) 每次创建单号后,CC 都会记录,提示框显示出来的单号如果正确,无需重新创建单号。如果没有,
|
|||
|
|
|
|||
|
|
创建即可。同一个单号修改多个文件,无需多次创建同一单号。
|
|||
|
|
|
|||
|
|
4) 详细的 Clearcase 操作指南请参见附件《YG-CMMI-CM-GD01 ClearcaseLT 客户端操作指南.doc》。
|
|||
|
|
|
|||
|
|
4.2.2. GIT 提交代码规范
|
|||
|
|
|
|||
|
|
1) GIT 代码库因其分支灵活的特点,无法进行统一管控,项目组因各种原因须建立个人分支,须邮件
|
|||
|
|
向项目经理申请,项目经理审批通过后方可建立,对建立的个人分支,配置管理工程师不纳入整体
|
|||
|
|
的代码流管理,项目组需妥善管控,并定期清理,由此类分支管理混乱造成代码问题及引发严重后
|
|||
|
|
果的,依据公司相关规定进行处理。
|
|||
|
|
|
|||
|
|
2) 详细的 GIT 操作手册请参见附件《YG-CMMI-CM-GD05 Git 使用手册-开发工程师》。
|
|||
|
|
|
|||
|
|
5. 相关附件
|
|||
|
|
|
|||
|
|
《YG-CMMI-CM-GD04 Git 安装指南-开发工程师》
|
|||
|
|
|
|||
|
|
《YG-CMMI-CM-GD05 Git 使用手册-开发工程师》
|
|||
|
|
|
|||
|
|
《YG-CMMI-CM-GD06 GAP 模块代码复审操作说明》
|
|||
|
|
|
|||
|
|
《RTC 操作手册-开发工程师》
|
|||
|
|
|
|||
|
|
6. 相关文档
|
|||
|
|
|
|||
|
|
《YG-CMMI-CM-PD04 配置管理规范》
|
|||
|
|
|
|||
|
|
《YG-CMMI-CM-PD03 配置项标识规范》
|
|||
|
|
|
|||
|
|
《YG-CMMI-CM-GD01 ClearcaseLT 客户端操作指南》
|
|||
|
|
|
|||
|
|
7. 附代码库明细表(供参考)
|
|||
|
|
|
|||
|
|
代码库明细表.xls
|
|||
|
|
|
|||
|
|
商密【中】
|
|||
|
|
|