一场突如其来的冠状病毒肺炎给广大的开发者和IT互联网公司带来了诸多的不便。在家办公成为必须选择。但是很多开发者和企业缺乏远程办公的产品和服务。百度效率云因此免费推出远程协同开发方案,助力开发者和企业们度过这场难关。
为了协助广大开发者更加便利的实现远程办公,异地协同,百度效率云决定免费开放效率云上的所有组件,包括:
多团队,多项目管理的项目管理平台-iCafe,
可全局搜索代码的代码托管平台-iCode,
支持镜像构建的持续交付平台-iPipe,
提供更精准规则的代码检测平台-iScan,
自动化测试组件-iTest。
用户反馈平台-UFO
百度效率云承诺,企业开通服务后,可免费使用效率云到2020年6月1日。
下面将详细介绍一下百度效率云的应用场景和主要功能:
对于一个中等规模的软件开发团队,团队人数在几十到一百人不等,通常维护10+以上的服务,这些服务组成了一个到多个独立的产品。这样的团队在异地协同开发时通常需要面对以下几个场景:
I. 任务的分发: 整个团队需要维护一个统一的sprint plan和任务列表,每个团队的成员能够看到分配给自己的任务,任务的详细介绍和计划等相关信息。
II.任务跟进: 任务分配到团队成员之后,整个团队还需要维护一个动态更新的看板。鉴于团队中的每个成员都在各自的办公场所(家),那么这张看板就必须是电子看板,团队通过配置一个电子看板,将每个任务的生命周期,每个任务当前所处的状态共享出来。再配合在线的沟通实现任务的跟进。
III.代码的统一托管: 既然是软件的开发,就离不开代码库,此时团队需要一个外网可访问的代码仓库来保证所有的开发人员能够拉取,推送自己每天的工作成果。
IV.持续集成/交付/部署: 由于团队成员都分散在各自的办公场所,当有人代码提交的时候,就不可能像在办公室里一样靠当面的沟通去做代码的评审。此时,为了继续维护团队的研发流程,保证代码质量,必须有在线的代码评审,自动化的代码检查机制来保障代码入库时的质量,以免为后续埋下技术债务。
V.多人在线沟通: 以上各个场景,都离不开人和人的沟通,一个功能齐全的IM工具就变得十分重要。
VI. 用户反馈的流转跟进:客服或开发团队接到用户反馈的复杂问题时,需要持续跟进并协同解决该问题,用户、客服、开发团队三方持续多轮远程交互导致问题处理效率降低,用户反馈问题堆积。需要有一套便捷的用户反馈收集、管理、跟进工具,能够和开发团队的任务管理工具对接,将用户反馈问题快速、准确的传递给开发团队,并进行持续管理。
那么,效率云是如何服务以上场景呢:
1、百度效率云的任务分发和协同
百度效率云的项目管理平台iCafe提供了基于敏捷开发框架的产品管理,项目管理的系列功能:
首先,百度效率云为开发者提供了丰富的项目模板,开发者可以根据自己的实际需要建立相应的项目,既然是模板,那么当项目被建立的时候,相应的代码库,流水线都会自动建好,方便开发者专注于自己的业务开发上。
上图是iCafe中提供的基于用户故事卡片的需求管理功能,接下来,用户可以自定义一个epic, feature, story甚至一个最基本的task的相关参数,例如责任人,时间,优先级,相关的交互界面等信息。任何被分配了任务的团队成员都可以全面的了解当前任务的信息。
任务建立之后,团队通过配置电子看板,建立迭代计划并将任务拖动到迭代计划中,就完成了计划的制定工作。
2、百度效率云的代码托管和代码评审
百度效率云的代码托管和开发协同平台iCode提供了代码开发相关的一系列功能支持:
如上图,iCode的最基础功能就是代码的托管,整个开发团队可以将团队的代码托管在效率云上作为远程仓库。
除了基本的代码托管,iCode还为开发者以及开发团队提供了更多的高阶功能:
3、提交规则的设置
团队的leader可以通过相关提交规则的配置,实现诸如: 代码提交关联卡片,代码提交自动生成代码评审,代码提交后的自动化流水线等开发规则。即使团队不坐在一起,依然可以通过工具的规则来实现统一的开发规范。
4、代码的全局搜索
如上图,用户可以在效率云的搜索框中搜索任何代码片段的关键字,iCode可以在所有用户已经托管的代码中找到相关的代码库。这是大大提升开发者效率的一个功能,在IDE中,我们只能搜索下载到本地的代码片段,而iCode所提供的全局搜索功能,可以帮助开发者随时随地的搜索到整个公司的代码库内容。
5、代码提交后流水线
当开发者在提交规则配置中开启了"开启iPipe流水线"检查之后,便可以在流水线编排平台-iPipe中配置一条代码提交之后,入库之前的"change"流水线。每当开发者push代码的时候,这条流水线就会被自动触发,只有当流水线成功执行后,才会触发后续的动作,如人工评审,代码入库等,最大限度上的前置了质量检查工作。
6、人工评审
iCode也提供了人工评审机制,在代码提交过程的最后一个环节,效率云提供了代码行间直接输入comment的功能。给团队成员提供了一个基于代码的讨论环境,评审通过之后代码即可入库。
7、持续交付,持续部署
开发者通过使用效率云提供的持续交付平台-iPipe,可以灵活的配置自己的自动化流水线,来实现持续交付和持续部署:
如图,iPipe提供了多种语言的构建框架,基本上可以满足各类开发语言的构建工作。
开发者可以在iPipe的主界面中随时查看流水线的执行情况,对流水线的执行过程一目了然
8、代码的自动扫描
百度效率云上的代码扫描平台-iScan是百度自研的代码扫描平台,支持10+种主流语言的静态代码扫描;iScan的主要特性如下:
支持增量代码扫描: 只扫描代码的diff部分,极大的加快的扫描的速度。
兼容多种开源扫描规则: iScan支持PMD,findbugs, sonarcube等多种扫描平台的规则。
提供更准确的规则引擎: 百度的BCA系列扫描规则是百度多年软件研发,测试经验积累的产物,相比开源规则和引擎,BCA系列规则极大的提升了扫描的准确率,减少了误报错报。我们的口号是: 报一个,对一个。
9、和智能云上的微服务平台打通,支持云原生应用开发
百度效率云与百度智能云上的微服务应用平台CNAP,容器引擎CCE共同组成了智能云云原生应用开发解决方案。
百度效率云在其中提供了两个重要能力:
I. 镜像构建,在iPipe上的每种构建插件,都提供了镜像构建的步骤,开发者可以将打出的Docker镜像存储在效率云的制品管理组件-iRepo中。
II.将镜像部署到在CNAP中配置好的部署组中,如下图所示, 开发者可以在iPipe中选择CNAP发布组件,将镜像直接发布到一个已经配置好的部署组中,实现自动化的持续部署。
10、用户反馈的收集、管理、跟进
效率云中为用户提供了便捷的用户反馈的回复、标注、流转、分析、管理工具-UFO,主要为开发团队提供以下帮助:
用户反馈全流程线上跟进
通过平台化和数据挖掘技术,优化反馈处理流程,实现用户反馈全流程线上闭环跟进,提升远程协同场景下用户反馈的运营效率和解决率
用户反馈列表页,支持反馈回复、标注、流转等
产品问题分析
简单配置即可生成用户反馈提交页,支持320种字段收集
支持App版本、用户IP地域、手机型号、来源页面等320种字段收集,在远程协同场景下能帮助开发团队精准定位产品问题
激活用户反馈形成产品TOP问题,推动产品问题解决闭环,助力产品改进。
多维度数据报表
多维度报表支持,支撑管理决策、产品决策和运营决策。
核心用户沉淀:用户反馈历史数据存留、导出,帮助沉淀核心用户,挖掘用户价值。
便捷的自动回复工具:通过简单的配置即可自动回复用户反馈,缓解由于远程协作导致的用户反馈回复不及时问题。
自动回复配置页面
如何开通效率云服务?
效率云目前免费对外提供公有云服务。开发者可以访问百度效率云官网:
https://cloud.baidu.com/product/xly.html
为了方便开发者掌握效率云的基本使用技巧和DevOps理念,百度开发者中心还提供了教程供开发者们了解,地址:https://developer.baidu.com/topic/show/290563