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

相关推荐
YCY^v^4 小时前
JeecgBoot 项目运行指南
java·学习
夏幻灵5 小时前
HTML5里最常用的十大标签
前端·html·html5
云小逸5 小时前
【nmap源码解析】Nmap OS识别核心模块深度解析:osscan2.cc源码剖析(1)
开发语言·网络·学习·nmap
Mr Xu_5 小时前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js
未来龙皇小蓝5 小时前
RBAC前端架构-01:项目初始化
前端·架构
程序员agions5 小时前
2026年,微前端终于“死“了
前端·状态模式
万岳科技系统开发5 小时前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
程序员猫哥_5 小时前
HTML 生成网页工具推荐:从手写代码到 AI 自动生成网页的进化路径
前端·人工智能·html
龙飞055 小时前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl
JustDI-CM5 小时前
AI学习笔记-提示词工程
人工智能·笔记·学习