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