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

2.2 KiB
Raw Blame History

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