共计 3803 个字符,预计需要花费 10 分钟才能阅读完成。
作者介绍:以诺行 CTO 刘自强 团队应用云效 3 年
团队合作需要
杭州以诺行汽车科技股份有限公司 (以下简称“以诺行”) 成立于 2016 年 8 月,位于杭州市余杭区文一西路科技洼地海创科技核心。以诺行是一家集研发、销售及服务为一体的科技型企业,次要外围业务包含汽车软件、汽车喷漆及汽车配件,致力于用精湛的技术和超前的互联网思维打造汽车培修平台全新格局。
以诺行目前有以下软件产品
- 基于 SaaS 的汽修治理 ERP,性能蕴含进销存、培修流程治理、账务、CRM 等。基于 Web、Android、IOS、微信 H5、微信小程序等操作终端。
- 以诺行喷涂全流程软件,基于 Web、Android、IOS 等操作终端。
- 以诺行询报价软件,基于 Web、微信 H5、微信小程序等操作终端。
- OA 零碎,基于钉钉小程序。
- 以及其它正在布局开发的产品。
所有软件产品由以诺行软件部门进行开发保护。整个部门分为产品、设计、开发、测试和施行岗位,共 30 人左右。
因为软件产品线较多,各职能部门人手无奈做到每条产品线专人负责,所以并没有采纳我的项目制,而是由项目经理和产品经理依据需要优先级与开发资源状况安顿开发迭代。因而每个迭代安顿人手时,须要分明的理解每个职能岗位的工作状态,开发过程中也要及时跟进开发进度,及早辨认危险。
出于以上起因,咱们须要抉择或者本人搭建一套项目管理和继续集成系统,并且须要思考以下因素。
- 根本的项目管理性能和可配置的工作工作流
- 清晰易用的工作台和工作流通知
- 资源存储与共享
- 文档治理
- 代码托管
- 继续集成流水线,并且流水线与阿里云产品对接敌对
- 应用老本
合作选型过程
最后,咱们团队在本人的 ECS 服务器上搭建了开源的项目管理和继续集成工具,并通过配置实现了根本的需要。然而在应用一段时间后决定抉择一款在线 SaaS 性质的项目管理工具,起因如下
1. 管理效率低下
a. 很多传统项目管理工具并没有十分直观的统计视图,须要将工作明细导出 Excel 再进行透视或者公式图表剖析,无论是日常治理还是向公司提交汇报都很不不便。
b. 短少直观的日常统计,也会导致安顿后续工作进度时得不到充沛的数据反对,以至于进度安顿过紧或过松,导致因赶工而产出品质降落或研发资源节约。
2. 运维老本高
a. 开源产品部署后不易降级,大版本升级容易产生兼容性问题,并且可能须要从新调整配置。
b. 资源存储在 ECS 上,对存储资源耗费较大,不过这个问题能够应用 NAS 服务缓解。
c. 若日常应用时有较多截图,文档的读写操作,ECS 带宽占用较大,容易导致 ECS 上部署的服务争抢带宽资源,而带宽老本较高。
d. 后端技术转型,后端服务不再部署在 ECS 上,而是部署到了阿里云 SAE(Serverless App Engine)产品,不再须要 ECS。对于中小企业来讲,独自为项目管理工具保留一台 ECS 比拟浪费资源。
咱们调研了市面上比拟风行的 SaaS 项目管理工具,局部性能满足咱们的需要,然而广泛有以下的制约因素。
- 与阿里云产品无奈间接对接。咱们前端部署在 OSS,后端部署在 SAE,尽管云产品提供了各种 API 能够进行对接,也提供了一些罕用继续集成平台的插件。然而对接上依然比较复杂,甚至须要咱们本人开发肯定的中间件进行对接。
- 额定保护一套账号体系
- 免费较高
在调研试用各种项目管理工具期间,偶尔在阿里云官网上看到了云效产品的推广,并且小微企业有一年期限的 30 人内收费。而云效能够基于阿里云 RAM 账号登录,并且对阿里云产品提供无缝对接,于是便开明试用了。
云效应用成果
因为大部分研发人员须要对各种云产品进行查看治理,所以曾经开明了各自的 RAM 账号。因而应用 RAM 账号对咱们来讲并不是额定的累赘,对于不应用 RAM 账号的企业来讲,云效也反对应用钉钉账号进行绑定。
为每一个员工建设阿里云 RAM 账号,并在云效中配置好部门和角色就能够开始应用了。
项目管理
通过配置正当的项目管理性能,能够实现以下工作流程
- 项目经理的开发迭代治理
- 产品经理的需要生命周期治理
- 开发人员的开发工作治理
- 测试人员的测试计划治理
- 测试阶段的缺点生命周期治理
- 施行和客户部门的反馈治理
其中波及到了以下性能:
版本治理 / 迭代
版本治理和迭代性能提供了便捷的伎俩来治理各种工作、打算和资源。管理者借此能够清晰的查看开发迭代停顿,辨认进度危险。产品部门也能够事后对工作进行分类、评审和排期。
需要
需要模块提供了根本的需要治理性能,并反对自定义各种类型的字段、状态和工作流。
工作中能够关联各种文件工作资源和知识库条目作为附件,以更加丰盛的媒体形式出现需要内容。
进入开发的需要能够创立对应的子任务分配给研发人员,研发人员也能够快捷地关上关联需要查看设计细节。
测试计划
在开发迭代之前或开发过程中,测试人员能够应用测试计划模块来治理测试用例,也能够将研发人员顺便申明的危险退出的测试计划。借此能够无效的追踪每一个迭代的测试状况,防止有脱漏,也能够在复盘时进行回顾剖析。
工作
项目管理中能够依据现状来自定义各种基于工作流的工作,比方开发工作。通过配置好的状态和工作流,帮忙各职能人员辨认关注本人的工作,防止脱漏延期。
缺点
缺点由测试人员发动,通过研发的修复,再由测试人员验证敞开。借此闭环来治理研发中或者线上突发的缺点。
测试人员创立缺点后,填写优先级和备注后指派给对应开发,也能够挂接到对应需要下面。
在动静栏中相干人员能够进行便捷的沟通。缺点修复后标记为已解决并主动指派回测试人员进行验证,验证修复后敞开即可。
知识库
知识库是文档管理中心,能够依靠于具体我的项目,也能够独立我的项目之外。提供了协同编辑能力,并具备细粒度的权限治理。
代码托管
Codeup 代码托管服务提供了残缺的 git 仓库根本的性能,包含可视化的权限治理,代码合并,分支治理,Webhook 等。
此外还提供了代码平安检测性能,比方代码中的明文明码,高风险的依赖包等,比方这几天爆进去的 log4j 2.14 的高危破绽。
报表性能也能够直观的追溯代码的提交评审行为,对于代码品质治理很有帮忙。
值得一提的是,在代码库中能够一键开启 WebIDE 签出代码进行开发。在近程办公,紧急解决问题时很有帮忙。
文件 / 分享 / 日程等
项目管理还提供了很多其它模块来促成我的项目人员间的共享和合作能力。
工作台
工作台中能够不便的追溯本人相干的工作,在日常工作中,每个岗位只需专一于“我执行的”页签内的工作并保障按时实现即可。
工作会依据截止工夫和优先级进行分组排序,能够无效的帮忙集体优先解决筛选出更加重要紧急的工作。
工作台同时提供了十分便捷的创立集体工作的性能,这类工作不依靠于我的项目,能够很大水平上代替集体日常的 TODO list。
“ 我执行的 ”,” 我参加的 ” 和 ” 我创立的 ” 页签基本上能够笼罩大部分对本人相干工作的治理场景,防止频繁的到具体我的项目的工作视图中查问。
继续交付
云效流水线性能提供了从代码直到部署的流程配置。原生反对与代码仓库 Codeup 的对接,并且能够不便的配置各种 Webhook 触发器。
以下是咱们软件产品的架构图:
对于后端利用,配置好 Dockerfile 后,流水线依据 Dockerfile 执行构建并且把制品上传到阿里云容器镜像服务产品中。在须要部署时,则把镜像推送给对应的 SAE 利用执行灰度部署。这些都是在流水线中原生反对的。
对于前端资源,流水线中调用 webpack 打包脚本生成制品,在须要部署时,推送到 OSS 服务的对应 bucket 即可。
以下是流水线的列表页面,能够自定义表头来展现运维人员关怀的字段。
流水线配置中也有丰盛的触发器能够反对手动 / 代码库行为 / 流水线联动触发等。
统计
云效提供了丰盛的统计性能,能够从各维度汇总数据。无论是外部治理还是对公司高层汇报,都能够不便的导出相干统计。
截止到以后,咱们已有十多个利用产品线通过云效进行治理,其中外围利用已产生过万个工作,大部分都能够按时实现。
给中小企业的倡议
当初对于中小企业,根本都不会本人搭建服务器和机房进行部署,而是抉择各大云平台,抉择一款 SaaS 项目管理工具能够极大的升高运维老本。
而继续集成,抉择一款能够与本人抉择的云产品不便对接的平台也是十分重要的,尤其是现今 Serverless 利用越来越宽泛,继续集成平台负担的工作也越来越重,须要审慎抉择。
对于外围性能托管在阿里云产品 (如 ECS, OSS, NAS, SAE, ADAS 等) 的企业,云效流水线能够提供原生的对接反对,也会在第一工夫适配各云产品的新个性,能够让运维人员专一于对部署流程配置。
项目管理方面,云效提供了易用的项目管理,知识库,统计等性能,能够笼罩大部分的项目管理场景。
最初价格方面,当初云效罕用根底性能收费凋谢,且不对应用人数做限度,对于中小企业节约老本十分敌对。
以上内容是以诺行在施行应用云效后的成果,对于中小企业,根本都不会本人搭建服务器和机房进行部署,而是抉择各大云平台,抉择一款 SaaS 项目管理工具能够极大的升高运维老本。感激以诺行 CTO 刘自强及团队对云效的信赖和必定,心愿云效能够陪伴他们不断进步。
如果你也有故事要分享,请留言分割咱们,一起打造 10 倍效力晋升案例集。
欢送大家应用云效,云原生时代新 DevOps 平台,通过云原生新技术和研发新模式,大幅晋升研发效率。现云效公共云根底版不限人数 0 元应用。
点击下方链接立刻体验云效 DevOps 全家桶!
https://help.aliyun.com/document_detail/153739.html?channel=case