「龙蜥开发者说」第 21 期来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了龙蜥社区开发者支智昇来分享「参与开源要敢于担任不同角色」。
欢迎阅读上期故事《构建软件包?不,是构建开源每一个角落!》。开发者说系长期活动,对于积极投稿、多次分享的童鞋,我们还有神秘大礼鼓励!诚邀开发者们分享真实体验,以文会友、共同学习、一起进步。
本期故事主角:支智昇,2022 龙蜥社区年度优秀贡献奖“代码之星”获得者;龙蜥社区 T-One SIG Maintainer,主要参与 QA、T-One、标准化 SIG,负责测试平台开发/搭建和各项标准制定等工作。
大家好,我是支智昇。感谢龙蜥社区给我一个分享开源实践经历的机会,同大家一起来见证多姿多彩的社区生活。在整个 2022 年度我深度参与了龙蜥社区 T-One SIG 的日常开发、运营等工作,从中受益颇深。也因为做出了一些微小的贡献,得到了社区组织的认可,获得了“2022 龙蜥社区年度优秀贡献奖-代码之星”奖项。
(图左一支智昇 / 2023贡献者沙龙现场颁奖)
首先介绍一下龙蜥社区 T-One SIG。T-One SIG 是龙蜥社区的质量保障组,为多个龙蜥操作系统版本提供质量保证。该 SIG 以 T-One 测试平台【1】为核心,持续探索更实用、更好用的测试平台和工具。(更多详情介绍可点击文末链接了解)
(图/ tone 平台入口界面)
以上简单介绍完了 T-One,接下来从不同的角色定位来谈一谈我在 T-One SIG 参与的工作。从角色定位上看,在不同时间阶段,我经历了产品经理、项目经理、开发工程师等角色。每个角色都被我赋予不同的色彩,点缀我在龙蜥每段精彩的旅程。
首先谈谈作为产品经理的经历,在这个角色上我主要推进了两个事情的落地。在我刚进入 SIG 时,T-One 还只是一个针对于 Anolis OS 的自动化测试平台。为了把 T-One 平台打造成一个全领域的测试平台解决方案,我和 SIG 组的同学们经过反复讨论、论证。最终决定,加强 T-One 对各 Linux 发行版的支持。主要体现在 toneagent-client 的全平台适配和 tone-web 组件预置脚本功能优化两个方面。解决了跨平台的短板后,我们又继续攻克了功能欠缺的问题。在 T-One 平台上加入了手工测试用例管理、执行组件-TestLib,从而使 T-One 成为一个跨平台、全功能的测试服务平台。以上基础问题解决后,我们又开始着手优化使用体验,T-One 源自阿里云内部的测试平台,由于阿里云的小伙伴总体业务素养较高,所以有好多隐式的设置项,需要利用终端命令行进行配置。我们目前是想把这个平台的使用范围扩大,所以对这些功能项增加了 UI 化配置的选项。并且对一些复杂的用户操作尽量做了简化和后台隐式自动化处理,比如被测机器注册功能,现在基本可以实现一键注册,大大减少了学习、使用成本。
接下来谈谈作为项目经理的经历。相比商业项目,开源社区更自由,开发进度无详细要求。但是为了保证 SIG 组能有效、按时产出。我们还是决定:要坚持有一个同学承担项目经理的角色,来保证项目进度。坦率地说,项目经理和产品经理是冲突的角色定位。产品经理强调产品功能健全、使用体验完美。但是项目经理要时刻对交付日期敏感,更何况是在开源项目上,开发人员的组织度还难以保证。在这个角色上我和小伙伴们还是权衡利弊,既保障社区的自由度、活跃度,又保障产出,同时兼顾了 T-One 的优美。
(图/ toneagent-client可视化配置界面)
最后,作为一个开发工程师,经历的项目也时常让我新增对知识的体会。随着加入 SIG 的时间增加,我对 T-One 的各部分代码也有了相对清楚的认识。作为一个开发同学,我逐步回归到本职工作,为 SIG 贡献更多代码。这部分主要是独自承接了 python 版 toneagent-client 的开发和维护工作,借助身边日常工作方面的优势,能接触到多个软、硬件平台。我们用 python 重写了 toneagent-client,使这个组件能为 x86、Arm、mips、LoongArch、申威等 CPU 架构,和 Anolis、Kylin、UOS 等 OS 平台提供稳定服务。
以上是我的参加龙蜥开源经历简短介绍。当然,在参与开源建设中不仅仅有付出,我们也获得了巨大的回报。在工作生产中,我们逐步以开源的 T-One 为基础,提升了测试业务的在线化和自动化。用一句话来总结,参与开源建设,要敢于承担不同角色。希望更多参与开源的小伙伴都能积极投身龙蜥社区的建设,在这里,你付出的更多,得到的回报也更加丰富。再次欢迎大家投身到龙蜥社区,让我们共创、共建、共享,打造一个面向云时代的操作系统。
*【1】:T-One 测试平台是一站式测试服务解决方案,T-One 可以承接包括自动化、手工测试在内的全面的测试服务;T-One 聚焦整机、服务器等操作系统领域,支持市场上绝大多数软、硬件的测试;T-One 部署灵活,以 docker 虚拟化技术为底层,支持多种环境部署。
T-One 测试平台主页:
https://tone.openanolis.cn
目前 T-One 有三大组件、四大版本。三大组件分别是 Testlib、tone、tone-cli。Testlib 是主要面向用户的服务,是方案级测试任务创建、编辑、执行的平台;tone 是自动化测试任务执行的平台,又包括 tone-web、tone-runner、tone-agent 三个子模块。tone-web 是自动化任务配置和发起的平台,tone-runner 是自动化测试任务拆分、管理平台,tone-agent 是自动化测试任务下发至被测设备的平台;tone-cli 是被测机器端运行自动化测试用例的微框架。四大版本分别是开源版、机构版、企业版、社区版,其中开源版是所有版本的上游和基础支撑。开源版、机构版以免费的开源服务、组件为主,企业版、社区版会引入部分的商用付费服务(如 OSS 对象存储),以提升用户使用体验。
(图 已获作者授权 / testLib界面)
相关链接地址:
T-One SIG 主页:https://openanolis.cn/sig/t-one
更多龙蜥开发者的故事,点击下方图片阅读:
—— 完 ——