本篇文章介绍一个最小开发团队常见角色
版本接口人
管理跟踪需求,问题。
发现风险,解决风险,上报风险。类似项目经理的角色。
传递一些版本上的消息,比如迭代计划,周几转测试,转集成,哪天发布版本。
在研版本接口人
管理新需求,以及新需求导致的问题的跟踪解决。
补丁版本接口人
管理需要反合至补丁版本的问题(严重问题,安全问题)
需求原则上不合入补丁版本。
服务组件接口人
解决用户遇到的问题。可能是上下游业务,可能是客户。
实验室接口人
仿真环境测试遇到问题,使用本服务的兄弟部门,上下游业务遇到的问题。
现网接口人
生产环境一线同时/客户/下游业务遇到问题。
安全&开源&持续集成&可信接口人
开源接口人
所使用软件不是版本火车中允许使用的开源软件
申请本服务使用的开源软件(方便公司/部门统一管理,包括安全漏洞检测,日落计划)
- 版本火车: 在一个大版本(6个月)中,允许使用哪些开源软件。
- 安全漏洞扫描:公司按照版本火车去关注漏洞,把漏洞分级,下发给各个产品,每个开源软件有owner会给出排查是否涉及的方案,解决方案。各个产品再分别去处理,这样节省各个产品关注漏洞时间。
- 日落:开源软件的社区不再活跃之后,安全漏洞无人修复,甚至不一定能发现开源漏洞,bug无人修复,对公司来说是负担,每年公司会评估哪些开源软件需要在下一个版本火车剔除,各个服务需要找替代方案并适配。
开源软件生命周期产生变化
及时切换到该软件新版本,找替代软件使用,如必须使用例外项需要评审
安全接口人
二进制扫描
jar包,so,类库,等类似软件,结合cve漏洞库,发现某个组件存在漏洞。
升级,修复,安全漏洞评审。
持续集成接口人
配合持续集成团队对本服务做相应的修改,如修改版本号,修改仓库地址,修改流水线配置门禁
每天会跑自动化vt(问题),验证服务基本功能,出了问题及时定位,是环境问题,还是昨天新合入的代码引入的问题。
- 流水线:自动化执行一系列任务,可以通过定时任务触发/手动触发。比如每天凌晨跑各个服务自动化用例。比如每次提交MR(Merge Request)时跑单元测试用例,代码规范检查等等。
- 门禁:流水线中设置环节的检查点,比如MR的自动化用例没过,则流水线失败,禁止合入MR。比如每天持续集成用例失败了,下发消息给对应接口人,及时关注处理。