xiaoquan
|
147a25614f
|
fix: 使用包含 Docker 的容器镜像运行 CI/CD
## 修改内容
- 添加 container 配置
- 使用 catthehacker/ubuntu:act-latest 镜像
- 该镜像预装了 docker、docker-compose 等工具
## 优点
- 不需要在 Runner 容器中安装工具
- 使用标准的 GitHub Actions 兼容镜像
- 更稳定可靠
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 19:02:57 +08:00 |
|
xiaoquan
|
32b4053ed3
|
fix: 支持 docker compose V2 版本
## 修改内容
- 使用 `docker compose` (V2,空格分隔)
- 备用方案:`docker-compose` (V1,连字符)
- 通过 || 运算符自动尝试两种版本
## 说明
- Docker Compose V2 已内置在 Docker 中
- 命令格式:docker compose(不是 docker-compose)
- 如果 V2 不可用,自动回退到 V1
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 18:02:19 +08:00 |
|
xiaoquan
|
5b3c599db6
|
feat: 使用外网 HTTPS 地址克隆代码
## 修改内容
- 使用 https://gitea.pinzhuhui.com/xiaoquan/rent.git
- 代码克隆到 /workspace/rent-deploy
- 首次运行自动克隆,后续自动 git pull
## 优点
- 使用外网地址,网络稳定
- HTTPS 协议,兼容性好
- 完全自动化,不需要手动配置
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 17:57:59 +08:00 |
|
xiaoquan
|
bfc30fac22
|
feat: 最终 CI/CD 方案 - 手动克隆 + 自动部署
## 方案说明
由于 Gitea Runner 在 Docker 容器中无法访问宿主机文件系统和网络,
采用一次性手动配置 + 自动部署的方案
## 配置步骤(一次性)
1. SSH 登录服务器
2. 手动克隆代码到 /www/dk_project/dk_app/rent
3. 配置 Git 凭证(SSH 或 Token)
## 工作流程
1. 开发者 git push
2. CI/CD 自动触发
3. git pull 拉取最新代码
4. docker-compose build 构建
5. docker-compose up 部署
## 新增文档
- CICD_SETUP.md - 完整配置指南
## 优点
- 简单可靠
- 不依赖复杂的网络配置
- 代码在宿主机上,构建速度快
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 17:48:53 +08:00 |
|
xiaoquan
|
860ad35387
|
debug: 自动查找 Gitea 仓库路径
## 修改内容
- 尝试多个可能的 Gitea 仓库路径
- 如果都找不到,执行 find 命令搜索
- 输出搜索结果,方便确定正确路径
## 目的
- 找到服务器上 Gitea 仓库的实际位置
- 根据输出确定正确路径
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 17:43:10 +08:00 |
|
xiaoquan
|
e1612f63db
|
fix: 使用 Gitea 仓库文件路径,不走网络
## 问题
- 网络克隆一直超时
- Docker 容器访问 Gitea HTTP 端口不通
## 解决方案
- 直接使用宿主机文件系统中的 Gitea 仓库
- 路径:/www/dk_project/dk_app/gitea/gitea_P4dS/gitea/gitea/repositories/xiaoquan/rent.git
- 使用 git init + git remote add 方式
- 完全不走网络,只读取本地文件
## 优点
- 不依赖网络
- 速度极快
- 100% 可靠
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 17:40:05 +08:00 |
|
xiaoquan
|
d5a44cc811
|
fix: 修改 git clone 地址,使用宿主机端口
## 问题
- Runner 容器无法访问 gitea_p4ds-gitea_P4dS-1:3000
- Docker 容器内网络不通
## 解决方案
- 使用 host.docker.internal:10082(Docker 宿主机)
- 备用方案:172.17.0.1:10082(Docker 网桥)
- 最后备用:localhost:10082
## 说明
- 10082 是 Gitea 映射到宿主机的端口
- Runner 容器通过宿主机端口访问 Gitea
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 17:32:21 +08:00 |
|
xiaoquan
|
d51cb9d03d
|
feat: CI/CD 自动克隆和更新代码
## 方案说明
- CI/CD 自动在 /tmp/rent-deploy 管理代码
- 首次运行自动克隆
- 后续运行自动 git pull 更新
- 不需要手动操作
## 工作流程
1. 检查代码目录是否存在
2. 不存在 → git clone
3. 已存在 → git fetch + git reset --hard
4. 执行 docker-compose 部署
## 优点
- 完全自动化
- 不依赖手动克隆
- 代码始终是最新的
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 17:21:20 +08:00 |
|
xiaoquan
|
ab019f2d2a
|
debug: 添加工作目录调试信息
## 调试内容
- 打印当前工作目录
- 列出目录内容
- 检查 deploy/docker 是否存在
- 如果不存在则报错退出
## 目的
- 确认 Gitea Runner 的工作目录结构
- 找出代码实际所在位置
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 17:10:17 +08:00 |
|
xiaoquan
|
8c6da556a2
|
fix: 极简化 CI/CD 工作流 - 让 Docker 处理所有构建
## 问题
- Runner 容器缺少 curl、node 等工具
- 在 Runner 容器中安装依赖复杂且不稳定
## 解决方案
- 移除所有 Node.js 安装和构建步骤
- 直接执行 docker-compose build
- 在 Dockerfile 中处理依赖安装和构建
- CI/CD 只负责部署流程控制
## 工作流程(极简)
1. docker-compose down(停止旧容器)
2. docker-compose build(构建新镜像,包含依赖安装和编译)
3. docker-compose up(启动新容器)
## 优点
- 工作流极简,只有部署逻辑
- 所有构建在 Docker 镜像中完成
- 不依赖 Runner 容器的环境
- 更稳定,更容易维护
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 17:08:16 +08:00 |
|
xiaoquan
|
733eb2419e
|
fix: 简化 CI/CD 工作流,移除 git clone 步骤
## 问题
- git clone 在 Docker 容器内网络访问 Gitea 失败
- Runner 一直卡在 "Cloning into '.'" 步骤
- 代码已经在服务器上,不需要重复克隆
## 解决方案
- 移除所有 git clone 步骤
- 直接使用 Runner 工作目录中的代码(已由 Gitea 自动同步)
- 合并 install、build、deploy 为单个 job
- 根据分支条件执行不同的部署步骤
## 工作流程
1. 安装 Node.js 和 pnpm(如果没有)
2. 安装项目依赖
3. 构建所有应用
4. 根据分支部署:
- test 分支 → 测试环境
- prod 分支 → 生产环境
## 优点
- 简化流程,减少网络依赖
- 执行更快,不需要克隆代码
- 更稳定,避免网络超时问题
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 17:04:14 +08:00 |
|
xiaoquan
|
1b178eb69d
|
fix: 优化 CI/CD git clone 步骤
## 修改内容
- 使用 GitHub Actions 上下文变量替代 bash 变量
- 添加工作目录清理,避免冲突
- 优化 Node.js 安装,检查是否已安装
## 变更说明
- $GITHUB_WORKSPACE - 工作目录路径
- ${{ github.server_url }} - Gitea 服务器 URL
- ${{ github.repository }} - 仓库路径
- ${{ github.sha }} - 提交 SHA
## 优点
- 使用 Gitea 原生变量,更可靠
- 清理工作目录,避免重复克隆冲突
- 检查 Node.js 是否已安装,避免重复安装
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 16:56:49 +08:00 |
|
xiaoquan
|
7bdcf07d56
|
fix: 修复 CI/CD 工作流 - 移除 actions/checkout 依赖
## 问题
- actions/checkout@v4 需要 Node.js 环境
- Gitea Act Runner 默认镜像没有 Node.js
- 导致 "Cannot find: node in PATH" 错误
## 解决方案
- 使用原生 git 命令代替 actions/checkout
- 在 install job 中安装 Node.js 环境
- 所有 checkout 步骤改为 git clone
## 优点
- 不依赖 GitHub Actions 插件
- 完全使用原生命令,更稳定
- 适合国内服务器环境
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 16:40:58 +08:00 |
|
xiaoquan
|
951569f6cc
|
fix: 移除 CI/CD 工作流中的 GitHub Actions 缓存依赖
## 问题
- actions/cache@v4 需要访问 GitHub,在国内服务器上经常超时
- 导致 CI/CD 流程失败
## 解决方案
- 移除 actions/cache 依赖
- 每次构建时重新安装依赖(使用 pnpm 本地缓存)
- 简化工作流程,提高稳定性
## 影响
- 构建时间可能略微增加
- 但避免了网络超时问题
- pnpm 的本地 .pnpm-store 仍然提供缓存加速
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-10 16:32:12 +08:00 |
|
xiaoquan
|
fefd64957d
|
feat: 精简 CI/CD 密钥,业务密钥迁移到数据库管理
- Gitea Secrets 只保留 5 个基础密钥(DB密码、JWT、加密密钥)
- 删除 deploy.yml 中所有业务密钥的 secrets 注入
- docker-compose 移除业务环境变量,只保留 DB/JWT/ENCRYPTION_KEY
- 业务密钥(微信/支付宝/短信等)通过后台「系统密钥」页面管理
- 改用 export 方式注入环境变量,不再写 .env 文件
- 更新部署文档
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-02 12:06:43 +08:00 |
|
xiaoquan
|
b358dbdab1
|
feat: 使用 Gitea Secrets 管理全部密钥
- deploy.yml 从 secrets 动态生成 .env,部署后自动删除
- docker-compose.prod.yml 支持全部业务配置注入(短信/微信/支付宝等)
- .env.example 只保留 GITEA_RUNNER_TOKEN,其他密钥全部迁移到 Secrets
- 更新 deploy/README.md 文档,完整列出 Secrets 配置清单
服务器上不再存储任何密码文件,安全性大幅提升
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-01 21:01:22 +08:00 |
|
xiaoquan
|
501adf7819
|
feat: 替换 GitLab 为 Gitea + Act Runner
- 删除 .gitlab-ci.yml
- 新增 .gitea/workflows/deploy.yml (Gitea Actions 工作流)
- 新增 deploy/docker/docker-compose.gitea.yml (Gitea + Act Runner)
- 更新 scripts/setup-server.sh 初始化脚本
- 更新 deploy/README.md 部署文档
- 更新 Makefile 新增 gitea-* 命令
- 更新 .env.example 新增 GITEA_RUNNER_TOKEN
Gitea 内存占用约 100MB,适合 4GB 小内存服务器
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-01 20:01:52 +08:00 |
|