Commit Graph

24 Commits

Author SHA1 Message Date
45aa7deb87 feat: 添加环境变量管理工具和部署配置改版
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m33s
主要改动:
- 新增交互式环境配置脚本 (scripts/setup-env.sh)
- 新增本地启动快捷脚本 (scripts/run-local.sh)
- 新增环境变量模板文件 (.env.example)
- 部署模式改版:使用嵌入式配置 + 环境变量覆盖
- 添加对象存储功能支持
- 改进 IoT 卡片导入任务
- 优化 OpenAPI 文档生成
- 删除旧的配置文件,改用嵌入式默认配置
2026-01-26 10:28:29 +08:00
1bee64fc65 修复 CI/CD 部署逻辑:强制更新 docker-compose.prod.yml
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m0s
根本问题:
- 第一次部署时复制的 docker-compose.prod.yml 没有环境变量
- 后续部署跳过复制,导致服务器一直使用旧版本配置
- 容器启动时因缺少 DB_HOST 环境变量立即退出
- 健康检查失败 → 容器 unhealthy

服务器日志证实:
- 容器反复重启
- 每次都显示 '错误: DB_HOST 环境变量未设置'
- entrypoint-api.sh 第10行检查失败后 exit 1

修复内容:
- docker-compose.prod.yml 每次部署强制更新
- configs 目录保留现有配置(避免覆盖运行时调整)
- 确保最新的环境变量配置生效
2026-01-20 11:57:25 +08:00
bf4ef37cc5 修复 docker compose 找不到配置文件:显式指定文件名
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 4s
问题:docker compose 默认查找 docker-compose.yml
我们的文件:docker-compose.prod.yml

解决:所有 docker compose 命令添加 -f 参数
- docker compose -f docker-compose.prod.yml pull
- docker compose -f docker-compose.prod.yml up -d
- docker compose -f docker-compose.prod.yml ps
2026-01-20 11:29:54 +08:00
1d773c4f69 添加部署调试信息:排查配置文件复制问题
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 3s
添加调试输出:
- 显示当前工作目录(pwd)
- 列出当前目录内容(ls -la)
- 复制时显示详细信息(-v 参数)
- 显示配置已存在的情况

帮助定位为什么 docker-compose.prod.yml 找不到
2026-01-20 11:22:17 +08:00
4f29107fc4 修复 SSL 证书验证错误:跳过内网自签名证书验证
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 4m20s
问题:git clone 失败,SSL certificate OpenSSL verify result
原因:Gitea 使用自签名证书,git 无法验证
解决:设置 GIT_SSL_NO_VERIFY=1 跳过 SSL 验证

注意:这仅适用于内网环境,生产环境应使用正确的证书
2026-01-20 11:13:48 +08:00
a44f6779c2 修复 git 命令找不到:添加 Nix 路径到 PATH
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 0s
问题:Runner 在 host 模式下 PATH 不包含 ~/.nix-profile/bin
解决:在检出代码前添加 Nix 路径到 PATH

这样 git 命令就能被找到(安装在 ~/.nix-profile/bin/git)
2026-01-20 11:12:11 +08:00
963c35d1c9 工作流:自动创建和初始化部署目录
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 4s
添加部署前检查:
- 自动创建 /opt/junhong_cmp 目录结构
- 首次部署时自动复制配置文件
- 确保 docker-compose.prod.yml 和 configs 存在

兼容性:
- 支持首次部署(自动初始化)
- 支持后续部署(跳过已存在的配置)

注意:需要 Runner 运行在 host 模式才能访问宿主机目录
2026-01-20 10:41:39 +08:00
be7d0a50e7 修改部署目录为标准系统路径 /opt/junhong_cmp
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 5s
从 /home/qycard001/app/junhong_cmp 迁移到 /opt/junhong_cmp

原因:
- /home 是用户私有目录,权限管理复杂
- Runner 可能以不同用户运行,访问受限
- /opt 是 Linux 标准的第三方应用目录

优势:
- 符合 Linux 目录规范(FHS)
- 所有用户都可访问(755 权限)
- 便于系统级备份和管理
- 不依赖特定用户账号
2026-01-20 10:39:15 +08:00
1e979cf017 重构部署流程:使用私有镜像仓库和标准化配置
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 1m42s
核心改进:
1. 使用私有仓库基础镜像(极速拉取)
   - registry.boss160.cn/base/golang:1.25.6-alpine
   - registry.boss160.cn/base/alpine:3.19

2. 移除 Docker Compose 安装步骤(已在服务器永久安装)
   - 减少 51 行复杂逻辑
   - 构建时间减少 10-60 秒

3. 移除文件复制步骤(configs 已在服务器部署目录)
   - 减少 20+ 行代码
   - 简化维护流程

4. 极简化部署逻辑
   - 只保留:拉取镜像 → 重启服务 → 显示状态
   - 从 ~30 行减少到 7 行

效果:
- 净减少 68 行代码
- 工作流清晰易懂
- 构建速度提升(基础镜像从内网拉取)
- 维护成本大幅降低
2026-01-20 10:13:50 +08:00
90ecfce8c5 优化 Docker Compose 下载:添加多个国内镜像源备份
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 3m54s
- 添加 5 个国内镜像源自动切换(ghproxy.net、gh-proxy.com 等)
- 每个源 15 秒连接超时、60 秒下载超时
- 循环尝试,任一成功即停止
- 所有国内源失败后才使用官方源(300 秒超时)
- 显示每个源的尝试状态,便于调试
2026-01-20 09:59:55 +08:00
0584a474cc 修复部署配置:使用 config.yaml 默认配置和外部服务
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
- 移除 docker-compose 中的 postgres 和 redis 服务(使用外部服务)
- 移除不必要的环境变量(DB_HOST 等)
- 修正服务端口:8088 → 3000(与 config.yaml 一致)
- 修正健康检查:curl → wget(与 Dockerfile 一致)
- 工作流自动复制 configs 目录和创建 logs 目录
- 使用默认 config.yaml(连接到 cxd.whcxd.cn 数据库)
2026-01-20 09:57:38 +08:00
94d8570d46 修复:自动安装 Docker Compose 插件确保部署成功
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 12s
- 在工作流开始时检查并安装 Docker Compose 插件
- 优先使用国内镜像(ghproxy.com)加速下载
- 失败时自动回退到官方 GitHub 源
- 简化部署步骤逻辑,移除冗余的版本检测
- 添加 emoji 标记让日志更清晰易读

这确保 Runner 环境中始终有可用的 docker compose 命令
2026-01-20 09:54:20 +08:00
609e952a5a 修复:自动检测 Docker Compose 版本并兼容 V1/V2
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 5s
- 添加 docker compose 版本检测和调试信息
- 自动适配 docker-compose (V1) 或 docker compose (V2)
- 使用变量 $COMPOSE 统一调用,避免硬编码
- 解决 Runner 环境中 compose 命令识别问题
2026-01-20 09:52:12 +08:00
e649bfb975 修复:移除 Docker 镜像加速步骤以避免 sudo 权限问题
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 3m59s
- 移除需要 sudo 的 Docker daemon 配置步骤
- 核心优化(Alpine 镜像源、Go 代理)已在 Dockerfile 中
- 基础镜像会被 Docker 缓存,后续构建不会重复拉取
2026-01-20 09:45:58 +08:00
4d86799448 全面优化 Docker 构建和部署流程
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 1s
- Dockerfile.api/worker: 添加阿里云 Alpine 镜像源加速(构建+运行阶段)
- Dockerfile.api/worker: 提前设置 Go 环境变量(GOPROXY、CGO_ENABLED)
- Dockerfile.api: 移除 curl 依赖,改用 Alpine 自带 wget
- 工作流: 添加 Docker Hub 镜像加速(3个国内源)
- 工作流: 修复部署目录不存在问题(自动创建+复制配置)

预期构建时间:从 3+ 小时降低到 15-20 分钟
2026-01-20 09:43:42 +08:00
a3c66586af 移除 BuildKit 依赖,保留阿里云镜像源优化
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 4m24s
2026-01-20 09:34:20 +08:00
2336b140cc 优化 Docker 构建:启用 BuildKit + 使用阿里云 Alpine 镜像源加速
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 4s
2026-01-20 09:33:24 +08:00
35a1000c18 使用 docker compose 替代 docker-compose 命令
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 13m2s
2026-01-19 16:31:13 +08:00
fe0e98df69 回到容器模式使用自定义镜像
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 0s
2026-01-19 16:24:11 +08:00
dd8d802279 使用原生 git 命令替代 actions/checkout
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 0s
2026-01-19 16:22:45 +08:00
9e67914b1b 修正 Docker login 命令格式
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 4s
2026-01-19 16:07:57 +08:00
a996c604dd 使用宿主机 Act Runner 直接执行部署
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 1m21s
2026-01-19 16:05:25 +08:00
38a9a81bae 使用 docker 标签并指定容器镜像
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 15s
2026-01-19 15:04:52 +08:00
589197e284 添加 Docker 和 CI/CD 配置(无 SSH 方案)
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 0s
2026-01-19 14:56:40 +08:00