复制企业级 Linux 开发环境:如何实现严格开发环境与生产环境一致性的基础架构策略

6 月 22 日
 huzhikuizainali

我的目标是实现严格的开发到生产环境一致性,以消除部署摩擦。此外,我希望我的工作流程与大厂在为 Linux 服务器开发应用程序时实际采用的工程实践和基础架构范式保持一致。

我正在评估以下几种常用方法来复制大厂设置:

  1. 本地容器化:例如,WSL2 + Docker 。

  2. 本地虚拟化:运行专用的无头 Linux 虚拟机。

  3. 远程开发:使用 IDE (例如 VS Code Remote 或 JetBrains Gateway )通过 SSH 连接到专用的无头 Linux 机器或云实例。

目前,我的日常主力机是一台 Windows 11 笔记本电脑。我目前可用于搭建本地 Linux 节点的备用硬件配置为:Intel i7-6700 处理器、8GB 内存、238GB 固态硬盘和 GTX 1070 显卡。我的主要目标是确保架构的正确性,只要成本不太高可以不受现有硬件限制。如果升级基础设施(例如购置标准的开发工作站或配置经济高效的云实例( VPS ))能更好地符合现代行业标准,我也可以参考。

我不是寻求个人主观推荐,而是希望了解大厂真实的开发环境,以及个人如何才能最好地复制大厂的开发环境。具体来说:

1260 次点击
所在节点    DevOps
4 条回复
julyclyde
6 月 22 日
无非是构建过程的控制和构建结果的控制两种
如果你自己对依赖关系、版本细节之类的很清晰,那可以做 reproducible build
如果懒得管,那就放个现成的文件系统(容器)直接把一坨屎包进去就行了,每次展开都是同一个味
zhangli2946
6 月 22 日
一般会给 云化的桌面环境, 比如 ubuntu centos 啥的. vnc 连过去做开发.
保密控网一次性搞定;沟通问题仍然在 瘦客上解决.
那个时候 AI 还没兴起. 此时我就在我的小盒子(debian) 上开发
huzhikuizainali
6 月 22 日
@zhangli2946 谢谢回复。请问这种方式相较于 vscode 通过 ssh 连服务器进行开发有什么优势么?作为开发者,这种方式体验和效率如何?
zhangli2946
6 月 24 日
@huzhikuizainali 服务器是多用户共用的; vnc 上去是个人办公环境.

聚焦编码体验差别不大,但是考虑完整编码流程, 可能 vnc 更舒服.
考虑到你的核心诉求: 应该了解下 IaC. 部署摩擦的解决是两方面的: 知道制品成功部署的关键依赖项,依赖项在生产/开发环境上的差异.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1221939

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX