7eba30ee46
- 服务器一键配置脚本 - 部署脚本 (支持测试/正式环境) - Webhook 接收器 - 完整使用文档
105 lines
2.3 KiB
Markdown
105 lines
2.3 KiB
Markdown
# 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
|
|
```
|