- 《前端发布前检查清单》 - 《CI/CD构建门禁规范》 - 《代码提交变更说明模板》 为解决getDepartmentList导入错误等构建问题提供标准化文档支持
135 lines
3.1 KiB
Markdown
135 lines
3.1 KiB
Markdown
# CI/CD构建门禁规范
|
||
|
||
## 🎯 规范目标
|
||
|
||
建立自动化质量门禁,确保每次代码提交都经过严格验证,防止低质量代码进入主干分支,提升系统稳定性和开发效率。
|
||
|
||
## 🔒 门禁层级
|
||
|
||
### 1. 提交前门禁(Pre-commit)
|
||
**触发时机**:`git commit` 执行前
|
||
**验证内容**:
|
||
- ESLint 代码规范检查
|
||
- Prettier 代码格式化
|
||
- 简单的单元测试(快速执行)
|
||
|
||
**工具配置**:
|
||
- Husky + lint-staged
|
||
- 配置文件:`.husky/pre-commit`
|
||
|
||
### 2. 推送前门禁(Pre-push)
|
||
**触发时机**:`git push` 执行前
|
||
**验证内容**:
|
||
- 完整的单元测试套件
|
||
- 构建验证(`npm run build`)
|
||
- 集成测试(核心流程)
|
||
|
||
**工具配置**:
|
||
- Husky pre-push hook
|
||
- 配置文件:`.husky/pre-push`
|
||
|
||
### 3. CI流水线门禁(CI Pipeline)
|
||
**触发时机**:代码推送到远程仓库后
|
||
**验证内容**:
|
||
- 完整的测试套件(单元+集成+端到端)
|
||
- 代码覆盖率检查(≥80%)
|
||
- 安全扫描(SAST)
|
||
- 构建产物验证
|
||
- 部署到测试环境
|
||
|
||
**工具配置**:
|
||
- Spug CI/CD 流水线
|
||
- Gitea Webhook 触发
|
||
|
||
### 4. 发布前门禁(Release Gate)
|
||
**触发时机**:准备发布到生产环境前
|
||
**验证内容**:
|
||
- 生产环境冒烟测试
|
||
- 性能基准测试
|
||
- 安全合规检查
|
||
- 回滚预案验证
|
||
|
||
## ⚙️ 具体配置要求
|
||
|
||
### ESLint 配置
|
||
```javascript
|
||
// .eslintrc.js 关键配置
|
||
module.exports = {
|
||
plugins: ['import'],
|
||
rules: {
|
||
// 确保导入的模块实际存在
|
||
'import/no-unresolved': 'error',
|
||
// 确保导入的成员实际存在
|
||
'import/named': 'error',
|
||
// 禁止未使用的导入
|
||
'import/no-unused-modules': 'warn'
|
||
}
|
||
};
|
||
```
|
||
|
||
### Husky 配置
|
||
```bash
|
||
# .husky/pre-commit
|
||
#!/bin/sh
|
||
npm run lint-staged
|
||
|
||
# .husky/pre-push
|
||
#!/bin/sh
|
||
npm run test:unit && npm run build
|
||
```
|
||
|
||
### lint-staged 配置
|
||
```json
|
||
// package.json
|
||
{
|
||
"lint-staged": {
|
||
"*.{js,vue}": ["eslint --fix", "prettier --write"],
|
||
"*.{css,scss}": ["stylelint --fix", "prettier --write"]
|
||
}
|
||
}
|
||
```
|
||
|
||
## 🚫 失败处理机制
|
||
|
||
### 自动处理
|
||
- **构建失败**:自动阻止 PR 合并
|
||
- **测试失败**:标记 PR 为失败状态
|
||
- **安全漏洞**:立即通知安全团队
|
||
|
||
### 人工处理
|
||
- **紧急修复**:可申请临时绕过(需架构师批准)
|
||
- **误报处理**:提交豁免申请并说明原因
|
||
- **规则调整**:通过 RFC 流程申请规则变更
|
||
|
||
## 📊 监控与度量
|
||
|
||
### 关键指标
|
||
- 门禁通过率 ≥ 95%
|
||
- 平均修复时间 ≤ 2小时
|
||
- 误报率 ≤ 5%
|
||
|
||
### 报告机制
|
||
- 每日门禁失败统计
|
||
- 周度质量趋势报告
|
||
- 月度规则优化建议
|
||
|
||
## 🔄 持续改进
|
||
|
||
### 规则演进
|
||
- 每月评审门禁规则有效性
|
||
- 根据项目需求调整检查强度
|
||
- 引入新的质量检查工具
|
||
|
||
### 团队培训
|
||
- 新成员入职培训包含门禁规范
|
||
- 定期分享最佳实践案例
|
||
- 建立常见问题解决方案库
|
||
|
||
---
|
||
|
||
**文档版本**:v1.0
|
||
**最后更新**:2026年4月24日
|
||
**负责人**:陈琳(文档专家)
|
||
**技术方案**:诸葛亮(架构师)
|
||
**适用范围**:HIS 系统所有项目
|