# kb-web 自动部署配置 ## 架构 ``` 本地 push → Gitea (192.168.1.22) → Webhook → micecola.top ├── /var/www/kb-web-test (测试 :8080) └── /var/www/kb-web-prod (正式域名) ``` ## 快速配置 ### 第一步:在服务器执行配置脚本 ```bash # SSH 登录服务器 ssh root@micecola.top # 下载并执行配置脚本 curl -fsSL https://raw.githubusercontent.com/你的仓库/deploy/setup-server.sh | bash # 或者直接复制脚本内容执行 ``` ### 第二步:添加 Gitea 部署密钥 服务器执行后会显示一个公钥,将它添加到 Gitea: 1. 打开 https://192.168.1.22 用户设置 → SSH Keys 2. 或在仓库设置 → Deploy Keys 3. 粘贴公钥内容 ### 第三步:配置 Gitea Webhook 在 Gitea 仓库 `kb-web` 的设置中: | 配置项 | 值 | |--------|-----| | URL | `http://micecola.top:8080/webhook/receiver.php` | | 密钥 | `kb-web-webhook-secret-2024` | | 触发事件 | Push | | 分支过滤 | main | ### 第四步:测试 ```bash # 本地修改后推送 git push origin main # 查看服务器日志 ssh root@micecola.top "tail -f /var/log/webhook.log" ``` ## 访问地址 | 环境 | 地址 | |------|------| | 测试 | http://micecola.top:8080 | | 正式 | https://kb.micecola.top (需配置域名) | ## 手动部署 ```bash # 测试环境 /var/www/webhook/deploy.sh test main # 正式环境 /var/www/webhook/deploy.sh prod main ``` ## 正式环境部署流程 推荐流程:先测试环境验证 → 再手动部署正式环境 ```bash # 1. push 自动部署到测试环境 git push origin main # 2. 验证测试环境 OK # 访问 http://micecola.top:8080 # 3. 手动部署到正式环境 ssh root@micecola.top "/var/www/webhook/deploy.sh prod main" ``` ## 文件说明 ``` deploy/ ├── setup-server.sh # 服务器一键配置脚本 ├── deploy.sh # 部署脚本 (部署到服务器 /var/www/webhook/) ├── webhook-receiver.php # Webhook 接收器 (部署到服务器) └── README.md # 本文档 ``` ## 回滚 ```bash # 查看备份 ls /var/www/kb-web-test-backups/ # 恢复备份 tar -xzf /var/www/kb-web-test-backups/backup_xxx.tar.gz -C /var/www/kb-web-test ```