Files
mqtt_power/LogBook.md
2025-05-23 15:02:01 +08:00

31 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 项目变更日志 (LogBook)
## 2025-05-23 (基于对话日期推断)
### CI/CD 方案最终确定与配置
* **CI/CD 平台选择**:
* 最终确定使用 **OneDev** 作为CI/CD平台以获得更佳的可视化管理和操作体验。
* 代码仓库将使用 **OneDev 内置的 Git 服务**,不再依赖外部 Gitea。
* **OneDev Agent 配置**:
* Agent 将在部署服务器上以 **Docker 容器模式运行**
* 采用 **Docker-out-of-Docker (DooD)** 模式,通过将宿主机的 `/var/run/docker.sock` 挂载到 Agent 容器,使 Agent 能够控制宿主机 Docker 来执行镜像构建和 `docker-compose` 操作。
* `DEPLOYMENT_GUIDE.md` 已更新,包含 Dockerized Agent 的详细配置步骤,包括数据持久化和作为服务运行的方法。
* **部署流水线 (`.onedev-buildspec.yml`)**:
* 流水线将负责:
1. 从 OneDev 内置 Git 仓库检出代码。
2. 从 OneDev 项目 Secrets 中获取敏感配置 (如数据库密码)。
3. 动态生成 `.env` 文件供 `docker-compose.yml` 使用。
4. 在 Agent 所在的宿主机上**本地构建**后端和前端应用的 Docker 镜像。
5. 使用项目根目录下的 `docker-compose.yml` 和本地构建的镜像,通过 `docker-compose up -d` 命令启动或更新所有服务 (MySQL, EMQX, Backend App, Frontend App)。
* **数据库自动初始化**:
* 修改了 `docker-compose.yml` 文件中 `mysql-db` 服务的配置。
* 通过卷挂载,将项目中的 `springboot-init-main/sql/mqtt_power.sql` 脚本映射到 MySQL 容器的 `/docker-entrypoint-initdb.d/init_schema.sql`
* 这将确保在 MySQL 容器首次启动且数据目录为空时,自动执行 SQL 脚本以创建所有必要的数据库表结构。
* **相关文件更新**:
* `DEPLOYMENT_GUIDE.md`:已全面更新以反映纯 OneDev 方案、Dockerized Agent 配置及数据库自动初始化。
* `.onedev-buildspec.yml`:已创建,定义了上述本地构建和部署的流水线。
* `docker-compose.yml`:已修改,支持数据库自动初始化脚本挂载。
* `deploy.sh`:已被删除 (原 Gitea + 脚本方案的产物)。
---