项目全称:12M测控站监控系统分系统。包含客户端和服务端两套软件。以典型CS架构控制硬件。并包含通用化设计,在不重新编码的情况下改变部分协议、流程等可能的变化,同时保持功能正常。
- 测控站监控分系统服务器软件1套
- 测控站监控分系统客户端软件1套
- 测控站监控分系统中心体监控软件1套
- 3月15日完成主要功能开发,满足调试需求。
- 3月底完成设备联调。
- 项目经理:王军友([email protected])
- 主程:王鹏([email protected])
- 开发:刘亮([email protected]),黄酮钫([email protected])
- 开发(实习生):胡欣([email protected]),何欣([email protected])
- 外协:暂无
项目基于Qt 5.9.5
进行开发,编译器选用msvc 14(vs2015)64bit
。基于CppMacroService提供框架OSGI
开发。交付目标平台为中标麒麟。可能有跨平台需求,目前选择在windows
平台下开发。
- Windows 7(64位)/中标麒麟
- Qt 5.9.5
- 编译器 msvc2015 64bit
OSGI
框架
git https://gitlab.mnenm.com:8888/wangjy/12m_station
ftp ftp://192.168.3.245/ (暂无)
ftp部分文件密码:sinux (暂无)
- 为便于项目管理和适应项目保密要求,项目引入的第三方库或源码需经项目经理或主程同意。
- 项目使用完整的CI/CD自动化流程,关于该部分的技术问题请联系刘通或孙云鹏。
Git相关操作只能在GitKarken中完成,结合软件内部工具使用Git-flow工作流。
主分支一般包含master
分支和develop
分支。主分支是长期存在的。原则上主分支不允许push
操作。需要通过提出merge request
请求合并。
master
分支上存放的应该是随时可供在生产环境中部署的代码(Production Ready state)。当开发活动告一段落,产生了一份新的可供部署的代码时,master
分支上的代码会被更新。同时,每一次更新,最好添加对应的版本号标签(TAG)
develop
分支是保存当前最新开发成果的分支。通常这个分支上的代码也是可进行每日夜间发布的代码(Nightly build)。因此这个分支有时也可以被称作“integration branch”。
当develop
分支上的代码已实现了软件需求说明书中所有的功能,通过了所有的测试后,并且代码已经足够稳定时,就可以将所有的开发成果合并回master
分支了。对于master
分支上的新提交的代码建议都打上一个新的版本号标签(TAG),供后续代码跟踪使用。
因此,每次将develop
分支上的代码合并回master
分支时,我们都可以认为一个新的可供在生产环境中部署的版本就产生了。通常而言,“仅在发布新的可供部署的代码时才更新master
分支上的代码”是推荐所有人都遵守的行为准则。基于此,理论上说,每当有代码提交到master
分支时,我们可以使用CI/CD触发软件自动测试以及生产环境代码的自动更新工作。这些自动化操作将有利于减少新代码发布之后的一些事务性工作。
使用规范:可以从develop
分支发起feature
分支,代码必须合并回develop
分支
feature
分支的命名可以使用除master
,develop
,release-
,hotfix-
之外的任何名称
feature
分支(有时也可以被叫做“topic分支”)通常是在开发一项新的软件功能的时候使用,这个分支上的代码变更最终合并回develop
分支或者干脆被抛弃掉(例如错误的或者实验性且效果不好的代码变更)。
使用规范:可以从develop
分支派生,必须合并回develop
分支和master
分支
分支命名惯例:release-*
release
分支是为发布新的产品版本而设计的。在这个分支上的代码允许做小的缺陷修正、准备发布版本所需的各项说明信息(版本号、发布时间、编译时间等等)。通过在release
分支上进行这些工作可以让develop
分支空闲出来以接受新的feature
分支上的代码提交。
使用规范:可以从master
分支派生,必须合并回master
分支和develop
分支。
分支命名惯例:hotfix-*
,除了是计划外创建的以外,hotfix
分支与release
分支十分相似:都可以产生一个新的可供在生产环境部署的软件版本。
当生产环境中的软件遇到了异常情况或者发现了严重到必须立即修复的软件缺陷的时候,就需要从master
分支上指定的TAG版本派生hotfix
分支来组织代码的紧急修复工作。
#Commit Message
<type>(<scope>):<空格><subject> #Summary
<body> #Description
提交示例:
feat: 新增主界面产品缩放功能
通过双击产品空白处实现产品的窗口/全屏切换功能
doc(客户端): 修订客户端设计原图
UI修订了客户端激光雷达的控制页面原型设计图
用于说明本次commit的类别,只允许使用下面7类标识,统一约定�使用英文字母和符号
- feat: 新功能(feature)
- fix: 修补bug
- docs: 文档(documentation)
- style: 格式(不影响代码运行的变动)
- refactor: 重构(即不是新增功能,也不是修改bug的代码变动)
- test: 增加测试
- chore: 构建过程或辅助工具的变动
用于说明本次commit的修改范围,比如客户端,服务端,模拟器。可以通过:
符号具体到模块但同一次提交只能使用一次。比如客户端:网络通信模块。
用于说明本次commit目的的简短描述,不超过50个字符。
关于此次提交的细节描述。