From 9d82d63a6440574cf26c51b096c2c83076d8c941 Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Wed, 22 Jan 2025 11:31:09 +0800 Subject: [PATCH] =?UTF-8?q?docs(README):=20=E6=9B=B4=E6=96=B0=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=96=87=E6=A1=A3-=20=E6=B7=BB=E5=8A=A0=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=AE=80=E4=BB=8B=E9=83=A8=E5=88=86=20-=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E9=83=A8=E5=88=86=E5=8A=9F=E8=83=BD=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=20-=20=E6=96=B0=E5=A2=9E=E5=BC=80=E5=8F=91=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=9A=84=E6=B5=81=E7=A8=8B=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=20-=20=E6=96=B0=E5=A2=9E=E4=B8=80=E6=AC=A1=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E7=9A=84=E6=B5=81=E7=A8=8B=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 52f6fed..c2ee9c2 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,11 @@ 一个学习项目 +## 简介 + 使用 kitex 框架,实现了 -* rpc 调用(kitex) +* rpc 调用 (kitex) * hertz 作为 facade 层 * 服务注册与发现(consul) * 配置动态加载(viper + consul) @@ -12,4 +14,29 @@ * helm 模板 (manifest 分支) * k8s 部署 * cicd 流水线 -* GitOps 部署 (argocd) +* GitOps 部署(argocd) + +## 开发一个模块的流程 + +1. 编写 idl 文件 +2. Makefile 中,从已有的模块复制一份,修改模块名 +3. 使用 cwgo 工具生成代码(运行刚刚写的 Makefile) +4. 定义数据库 model +5. 创建 cmd/migrate/migrate.go 文件,编写迁移代码(参见 gorm) +6. 运行 cmd/migrate/migrate.go,创建数据库表 +7. 创建 cmd/gorm_gen/gen.go 文件,编写业务 sql(使用注释,参见 gorm gen) +8. 运行 cmd/gorm_gen/gen.go,生成数据库操作代码 +9. 修改 config/config.go,改成自己的配置(viper+consul) +10. 修改 日志配置,改成自己的配置(直接打印到 std) +11. 修改 服务端口,改成一个未被占用的端口(便于在本地测试) +12. 修改 biz/dal/mysql/mysql.go,改成自己的dsn,并初始化 gen 的 Q 对象 +13. 到 biz/service 下完善自己的业务逻辑 +14. 编写 dockerfile + +## 一次部署的流程 + +1. 代码推送到 main 分支 +2. 构建镜像并推送到镜像仓库(cicd,下同) +3. 把镜像 tag 更新到 manifest 仓库中的 values.yaml +4. ArgoCD 自动同步 +5. 部署完成