31 lines
2.2 KiB
Markdown
31 lines
2.2 KiB
Markdown
# 项目变更日志 (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 + 脚本方案的产物)。
|
||
|
||
--- |