Add CI/CD setup guide
Some checks failed
Complete CI/CD Pipeline / security-scan (push) Has been cancelled
Complete CI/CD Pipeline / build-and-test (push) Has been cancelled
Complete CI/CD Pipeline / deploy-dev (push) Has been cancelled
Complete CI/CD Pipeline / deploy-prod (push) Has been cancelled
Complete CI/CD Pipeline / cleanup (push) Has been cancelled

This commit is contained in:
2026-01-29 01:31:51 +00:00
parent 129d6d3e15
commit 683d6713df

116
CICD_SETUP_GUIDE.md Normal file
View File

@@ -0,0 +1,116 @@
# 井字过三关游戏 - 完整CI/CD流水线配置指南
## 概述
本文档详细说明如何配置完整的CI/CD流水线实现井字过三关游戏项目的自动化构建、测试和部署。
## CI/CD 流水线结构
### 1. 触发机制
- **Push触发**: 当代码推送到main分支时自动触发
- **Pull Request触发**: 当创建或更新Pull Request到main分支时触发
### 2. 工作流详情
#### Job 1: build-and-test
- **运行环境**: Ubuntu最新版
- **任务**:
- 检出代码
- 设置Node.js环境
- 验证HTML、CSS、JS文件完整性
- 运行基本测试
#### Job 2: security-scan
- **运行环境**: Ubuntu最新版
- **任务**:
- 对代码进行安全扫描
- 检查潜在的安全漏洞
#### Job 3: deploy-dev
- **运行环境**: 自托管Runner
- **依赖**: build-and-test 和 security-scan
- **任务**:
- 部署到开发环境 `/var/www/html/tic-tac-toe-dev`
- 设置适当权限
#### Job 4: deploy-prod
- **运行环境**: 自托管Runner
- **依赖**: deploy-dev
- **任务**:
- 部署到生产环境 `/var/www/html/tic-tac-toe`
- 设置适当权限
#### Job 5: cleanup
- **运行环境**: 自托管Runner
- **依赖**: deploy-prod
- **任务**:
- 清理临时文件
## 部署路径
### 开发环境
- URL: `http://<server-ip>/tic-tac-toe-dev/`
- 文件路径: `/var/www/html/tic-tac-toe-dev/`
### 生产环境
- URL: `http://<server-ip>/tic-tac-toe/`
- 文件路径: `/var/www/html/tic-tac-toe/`
## 自托管Runner配置
要使CI/CD流水线正常工作需要在目标服务器上配置Gitea Actions Runner:
```bash
# 1. 安装Gitea Actions Runner
sudo apt update
sudo apt install -y gitea-actions-runner
# 2. 配置Runner连接到Gitea服务器
# 获取Runner令牌在Gitea管理面板中
# 3. 启动Runner服务
sudo systemctl enable gitea-actions-runner
sudo systemctl start gitea-actions-runner
```
## 权限要求
Runner需要以下权限
- 创建目录: `/var/www/html/tic-tac-toe-dev``/var/www/html/tic-tac-toe`
- 复制文件到Web目录
- 更改文件所有权为 `www-data:www-data`
- 设置文件权限为 `644`
## 验证部署
部署完成后,可以通过以下方式验证:
1. 访问开发环境URL检查功能
2. 访问生产环境URL确认部署成功
3. 检查Web服务器日志
4. 验证游戏功能是否正常
## 故障排除
### 常见问题
- Runner未运行: 检查服务状态 `systemctl status gitea-actions-runner`
- 权限错误: 确保Runner有足够的权限写入Web目录
- 网络问题: 确认服务器间网络连接正常
### 日志查看
- Gitea Actions日志: 在Gitea界面上查看
- Web服务器日志: `/var/log/apache2/``/var/log/nginx/`
- Runner日志: `/var/log/gitea-actions-runner/`
## 扩展选项
### 环境变量
可以在Gitea中设置以下环境变量:
- `DEV_SERVER`: 开发服务器地址
- `PROD_SERVER`: 生产服务器地址
- `WEB_ROOT`: Web根目录路径
### 高级功能
- 添加单元测试步骤
- 集成代码质量检查工具
- 添加性能测试
- 配置通知机制