前端er Go-Frame 的学习笔记:实现 to-do 功能(四),确保开发和部署共用一套代码

文章目录


提出问题

我虽然艰难的跑通了部署的流程,但是我觉得在整个过程中,环境变量等我写的不合理,都是些硬编码,虽然部署成功了,但是回到开发我又要改代码,我觉得这不对,所以,在企业中是如何让开发和部署,在不动代码的情况下灵活分配端口呢?

大师给我的答案:

其实中心思是环境变量


思考,开发环境的通信流程,以及三个容器之间的通信

开发环境

前端:通过 vite.config 中的 proxy 来代理到后端

后端:通过 back-end/manifest/config/config.yaml 中的配置文件访问到本地的数据库

数据库:本地自己的数据库

部署环境

前端:通过 Caddyfile 文件代理到 docker 环境网

后端:还是配置 back-end/manifest/config/config.yaml这个文件,我用的思路是,在封装成 docker 容器的时候,把给 docker 的配置复制进去,重命名 config

数据库:只需要在 docker-compose 中配置一下

虽然没用到变量,但是也可以实现,在不动开发代码的情况下,实现开发能跑,部署也可以。

开发环境截图


docker-compose 集群

集群的话,要先把本地的 mysql 服务停一下,不然端口冲突哦

然后 docker compose up --build -d 把服务集群都运行起来。

前端运行在80端口,所以直接 localhost 就行

可以用命令链接一下容器的 mysql 看看数据

bash 复制代码
docker ps
docker exec -it   todo_database bash
mysql -u gouser -p

# 输入 root 密码后,就能:

#查看数据库列表: 
show databases;
#查看表: 
use xxx; show tables;
#查询数据: 
select * from xxx;

结语

虽然没有用到 env 变量,但是也算是完成了我们的目标,核心的改动就是后端链接数据库的 config,在做成容器的时候复制另一份。

可见 gpt 给的答案只能是参考,还是要多独立思考

相关推荐
SoaringHeart34 分钟前
Flutter调试组件:打印任意组件尺寸位置信息 NRenderBox
前端·flutter
晚风予星1 小时前
Ant Design Token Lens 迎来了全面升级!支持在 .tsx 或 .ts 文件中直接使用 Design Token
前端·react.js·visual studio code
sunny_1 小时前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件
前端·webpack·架构
GIS之路1 小时前
ArcPy 开发环境搭建
前端
林小帅3 小时前
【笔记】OpenClaw 架构浅析
前端·agent
林小帅3 小时前
【笔记】OpenClaw 生态系统的多语言实现对比分析
前端·agent
程序猿的程4 小时前
开源一个 React 股票 K 线图组件,传个股票代码就能画图
前端·javascript
不爱说话郭德纲4 小时前
告别漫长的HbuilderX云打包排队!uni-app x 安卓本地打包保姆级教程(附白屏、包体积过大排坑指南)
android·前端·uni-app
唐叔在学习4 小时前
[前端特效] 左滑显示按钮的实现介绍
前端·javascript
用户5282290301805 小时前
【学习笔记】ECMAScript 词法环境全解析
前端