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
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:
116
CICD_SETUP_GUIDE.md
Normal file
116
CICD_SETUP_GUIDE.md
Normal 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根目录路径
|
||||||
|
|
||||||
|
### 高级功能
|
||||||
|
- 添加单元测试步骤
|
||||||
|
- 集成代码质量检查工具
|
||||||
|
- 添加性能测试
|
||||||
|
- 配置通知机制
|
||||||
Reference in New Issue
Block a user