云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境
引言
临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。
运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣,利用云原生构建重建环境,根据官方文档找了一条可行的技术路线,拉出来遛遛。
云原生构建
采用声明式语法与业内主流CI服务通用的YAML配置,构建云原生环境。
第一问:访问云原生开发环境的选择
- 客户端访问
- WebIDE访问
第二问:初始构建环境的选择
基于docker生态
- cnb 默认环境
- 指定镜像自定义开发环境
- 在仓库根目录创建Dockerfile,定义基础镜像与依赖
- 推送镜像至CNB制品库
- 在.cnb.yml中引用自定义镜像
资源动态调配
- 调整CPU/内存:在启动前修改环境配置
- 持久化存储:通过volumes挂载项目目录
第三问:自定义部署流水线设计
- 流水线(pipeline)实现
- 通过.cnb.yml实现声明式流水线
- 流水线主要能力:
能力维度 | 实现方式 | 业务价值 |
---|---|---|
阶段隔离 | 分离 build/deploy 阶段 | 隔离构建环境、运行环境 |
条件触发 | rules 匹配分支/tag | 测试环境自动部署生产 |
制品管理 | 推送 Docker 镜像至 CNB 制品库 | 版本追溯,环境一致 |
实现路线
- 环境重建
- Dockerfile还原
- CNB制品库推送(📦 制品(Artifact):指在云原生构建流水线中生成的、可复用的输出物,通常是代码编译、测试或打包后的产物(如Docker镜像))
- 流水线配置:自动化全流程