前端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 天前
深度学习之对比学习
人工智能·深度学习·学习
Wzx1980121 天前
doker深学习
学习·docker
InterestOriented1 天前
破解银发学习痛点 兴趣岛 “普惠 + 品质” 模式打造积极老龄化范本
大数据·人工智能·学习
浮尘笔记1 天前
Go语言临时对象池:sync.Pool的原理与使用
开发语言·后端·golang
奔跑的web.1 天前
TypeScript Enum 类型入门:从基础到实战
前端·javascript·typescript
HyperAI超神经1 天前
IQuest-Coder-V1:基于代码流训练的编程逻辑增强模型;Human Face Emotions:基于多标注维度的人脸情绪识别数据集
人工智能·深度学习·学习·机器学习·ai编程
盐真卿1 天前
python2
java·前端·javascript
testpassportcn1 天前
UiPath-ADPV1 認證介紹|Automation Developer Professional v1
网络·学习·改行学it
生擒小朵拉1 天前
ROS1学习笔记(二)
笔记·学习
梦梦代码精1 天前
BuildingAI vs Dify vs 扣子:三大开源智能体平台架构风格对比
开发语言·前端·数据库·后端·架构·开源·推荐算法