前端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 给的答案只能是参考,还是要多独立思考

相关推荐
孜孜不倦不忘初心1 天前
Axios 常用配置及使用
前端·axios
sTone873751 天前
vscode 二开踩坑记录
前端
用户8168694747251 天前
Effect 执行时机与事件循环交错关系
前端·react.js
心在飞扬1 天前
langchain学习总结-OutputParser组件及使用技巧
前端·后端
复业思维202401081 天前
Altium Designer (24.2.2)中更改库以及保持器件参数不变
笔记·学习·硬件工程
llq_3501 天前
Ant Design v5 样式兼容性问题与解决方案
前端
triumph_passion1 天前
React Hook Form 状态下沉最佳实践
前端·react.js
心在飞扬1 天前
langchain学习总结-两个Runnable核心类的讲解与使用
前端·后端
德育处主任1 天前
在小程序做海报的话,Painter就很给力
前端·微信小程序·canvas
匠心码员1 天前
Git Commit 提交规范:让每一次提交都清晰可读
前端