更新
一个分支一个远程工作区的工具搞好了, 终于可以告别换分支的烦恼, 同时并行多个小任务, 还可以方便同事其他同事进行修改:
谢邀。
目测题主问的是 VS Code Remote Development 套件,目前我们团队已经大范围用上了(当然一共没几个人),主要是使用其中的 Remote - SSH。
我们的项目以 TypeScript 为主,工程师不分前后端,之前考虑到方便大家能独立完成完整功能,目前项目粒度也较大。项目总体代码量在 10 万行级别,所以大家的笔记本(多为超极本较高配,MacBook Pro 13,ThinkPad X1 Carbon,MateBook X Pro,Surface Book)跑开发过程中的构建,还是会有一些压力,至少风扇狂转是很难避免的。
为了提升开发体验,我们很早就在寻找可以利用远程计算资源的方案,比如还有没有 VS Code Remote Development 之前最接近理想状态的 Coder(可惜才出来没多久)。
在这个前提下,我们当然是对 VS Code Remote Development 持非常强烈的欢迎态度的。所以看到预览版发布后,我们也第一时间搭建了团队共享的远程开发用服务器(8 核 32 G,主频 3.2 GHz),为每个开发分配一个 container 和 SSH 端口,简单粗暴地实现了计算资源共享,而 SSH 本身也解决了端口转发的问题。
在这类技术的帮助下,以后公司标配的开发机配置可以省不少,自己买本子也不用看着顶配,i5 8G 可能就足够了,心情好的时候说不定还可以用 Surface Go 外接显示器来开发公司项目,美滋滋。
另外我们也想到了一些相关的应用场景:
比如做 code review 时,虽然 MR / PR 有 diff,但没有代码导航,也不能很方便调试改动,虽然我们做了 MR 的部署,可以看看效果,但很多时候还是要到本地才方便。而为了做 code review 切换分支,重新构建,也是件很蛋疼的事情。
所以有了这玩意儿之后,MR 除了可以部署到开发服务器,还可以把开发环境/分支在服务器准备好,方便随时连接进行 code review。
同时也给我们带来了一些小问题,但基本都已经解决或者较好解决:
另外对于磁盘 IO(我们使用的是 docker volume)对体验的影响还没有做过具体的对比,欢迎有经验的同学分享。