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

相关推荐
用户69371750013841 小时前
Google 正在“收紧侧加载”:陌生 APK 安装或需等待 24 小时
android·前端
蓝帆傲亦1 小时前
Web 前端搜索文字高亮实现方法汇总
前端
用户69371750013841 小时前
Room 3.0:这次不是升级,是重来
android·前端·google
漫随流水2 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
踩着两条虫4 小时前
VTJ.PRO 核心架构全公开!从设计稿到代码,揭秘AI智能体如何“听懂人话”
前端·vue.js·ai编程
盐水冰4 小时前
【烘焙坊项目】后端搭建(12) - 订单状态定时处理,来单提醒和顾客催单
java·后端·学习
Hello小赵4 小时前
视频压缩编码学习(一)—— 基础知识大集合
学习
jzlhll1235 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin
似水明俊德5 小时前
02-C#.Net-反射-学习笔记
开发语言·笔记·学习·c#·.net
蓝冰凌5 小时前
Vue 3 中 defineExpose 的行为【defineExpose暴露ref变量】详解:自动解包、响应性与实际使用
前端·javascript·vue.js