1、腾讯云全链路高效开发上云实践汪晟杰腾讯云Cloud Studio产品总监腾讯云Cloud Studio产品总监,负责推进云端开发环境建设前阿里高级技术专家,从事钉钉云效核心业务线、Teambition合伙人、Autodesk 首席软件架构师、十多年 SAP 云平台、SuccessFactors HCM、Sybase数据库 PowerDesigner 等产品的开发经理,在软件架构设计、产品管理和项目工程管理、团队敏捷提效等方面拥有逾 18 年的经验。0101 云端开发环境的价值0202 云端开发基础架构建设探索03 03 企业级最佳实践案例分享04 04 个人开发者最佳实践分享CONTENT 目
2、录腾讯云-云端开发环境 Development Environment(简称 CDE)定义:利用云上快捷弹性的资源能力,进行云上开发到测试的新开发模式。它基于容器隔离性,与企业内的研发规范流程结合,赋能企业开发及管理者,优化并控制研发成本。提效 开发一键运行生产力 可并行工作规范 DevOps监管 FinOps、成本、资源云端开发环境 具备四大要素加速研发流程效率,降低风险,对于开发者化繁为简容器化:成本降低隔离性,不受干扰;并行开发,成本降低标准化:环境统一统一的开发环境,企业急需寻找标准的研发流程控制。代码安全开发DevOps从需求开发到一键拉起CDE,到提交合并、PR完毕出发Ops流程发
3、布云上化:计算弹性享受云的便利性和资源弹性价值一:研发流程=云端开发环境+DevOps发布你的工作区为自定义模版价值二:更一致的团队开发环境你可以把你当前的工作区及项目发布并保存成自定义模版,分享出来的自定义模版通过链接可以分享给团队其他成员。让他们可以以此为模板开启自己的开发空间。标准化代码化版本化模版定义 即代码我们也允许用户定义workspace.yml描述语言来定义启动自定义环境镜像、插件、运行脚本等。价值三:容器化+弹性使用DevOps容器短暂性环境弹性资源它应开始于 DevOps 流程中的需求(任务)的认领,然后创建一个分支,开发完成,测试没问题,提交代码,最终结束于该任务的开发状
4、态。不受污染的开发环境,配置主流语言镜像或者是企业自建镜像,拉起使用用完即可回收资源。云端开发环境并非指 Web IDE,我们更推崇你用本地 IDE 去连接云端开发环境,这样可以享受到云的弹性资源的优势。价值四:云开发+持久化+协同编码多人终端协同分享代码沟通留言板音视频沟通(公有云)喜欢终端码字的用户,也可以方便的把当前的终端快速分享出去,实现终端协同。讨论代码、文字讨论具体问题、代码提前评审、架构讨论。适合邀请前后文字留言,推送新消息等。基于腾讯云TRTC团队的合作,实现邀请协作参会人进行语音、视频沟通。通过简单的复制当前工作空间实例链接,并通过IM分享给你要邀请的人,就可以实现多人工作在
5、一个工作空间实例中,一起协同开发完成项目开发任务。多人在一个工作空间协同开发Pair Programming Demo价值五:连接不同产品之上的场景Flutter应用开发教学面试 云端开发连接上层业务,开发场景 腾讯云Toolkit(开发者套件)https:/ 一致化的各组件、模块版本管理 集中式统一管理的构建平台(由CODING CI、Bazel 等构成)更便利的协作、文档共享、统一的目录管理等碎片化严重历史包袱标准化问题模块形态不同内核、插件多种编程语言难以统一混乱的依赖关系各模块版本难以统一协同共享、发版带来困难发现问题 构建更大,花费的时间更长 需要将几 GB 的经常变化的工件下载到笔
6、记本电脑或在本地构建 离开 办公环境,快速进行开发是一项挑战。有时,克隆一个新项目并从头开始配置本地开发环境,会花费数小时甚至一天的时间。解决问题的唯一途径 性能 云端IDE启动:预热并更优的 IDE 启动链路 内网下载依赖构建,设置中央仓库缓存,找到最近的最快的网络下载位置 在产品上设置团队依赖库的缓存能力,实现秒级挂载,无需额外重新下载 优化 Git 配置 预加载所需的开发环境里的插件、预热了镜像启动,预热了依赖库 提供更多计算资源,在编译过程中弹性提升规格,在不用时降低高规格的占有率 更好的开发体验 Linu