diff --git a/DRONE-CI%E7%9A%84%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E5%92%8Cgerrit%E5%88%86%E5%88%AB%E5%BB%BA%E4%B8%AA%E7%9B%AE%E5%BD%95%E5%90%97.md b/DRONE-CI%E7%9A%84%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E5%92%8Cgerrit%E5%88%86%E5%88%AB%E5%BB%BA%E4%B8%AA%E7%9B%AE%E5%BD%95%E5%90%97.md index 3c92681..83d0df1 100644 --- a/DRONE-CI%E7%9A%84%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E5%92%8Cgerrit%E5%88%86%E5%88%AB%E5%BB%BA%E4%B8%AA%E7%9B%AE%E5%BD%95%E5%90%97.md +++ b/DRONE-CI%E7%9A%84%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E5%92%8Cgerrit%E5%88%86%E5%88%AB%E5%BB%BA%E4%B8%AA%E7%9B%AE%E5%BD%95%E5%90%97.md @@ -1,675 +1,353 @@ -# Gitea Wiki 使用指南与实用模板 +是的,**建议为DRONE CI和Gerrit分别创建独立的目录**。这样做的原因和最佳实践: -Gitea Wiki 是一个基于 Git 的文档系统,非常适合团队知识管理和项目文档。以下是详细使用方法和实用模板。 +## 📁 目录结构建议 -## 📚 **Gitea Wiki 基础操作** - -### 如何开启和访问 Wiki -1. **仓库设置中启用 Wiki** - ``` - 仓库主页 → 设置 → 启用 Wiki → 保存 - ``` -2. **访问 Wiki** - - 仓库主页导航栏点击 **`Wiki`** 选项卡 - - 或直接访问:`https://your-gitea.com/username/repo/wiki` - -### Wiki 基本操作 -- **新建页面**:点击 `新建页面` 按钮 -- **编辑页面**:点击页面右上角铅笔图标 -- **页面历史**:点击时钟图标查看版本记录 -- **删除页面**:编辑页面时点击底部删除按钮 -- **搜索**:页面顶部有搜索框 - -### Wiki 文件结构 -- Wiki 内容存储在仓库的 `.wiki` 子模块中 -- 页面以 `.md` 文件保存(Markdown 格式) -- 首页固定为 `Home.md` -- 支持文件夹组织:`开发/API文档.md` - ---- - -## 🎨 **Markdown 语法扩展** -Gitea Wiki 支持标准 Markdown 和扩展语法: - -### 1. **页面链接** -```markdown -[首页](Home) -[API文档](开发/API文档) -[外部链接](https://example.com) +### 方案一:按服务分目录(推荐) +``` +~/devops/ +├── gerrit/ # Gerrit代码审查 +│ ├── docker-compose.yml +│ ├── data/ +│ └── config/ +├── drone-ci/ # Drone CI/CD +│ ├── docker-compose.yml +│ ├── config/ +│ └── runner/ +├── gitea/ # Gitea Git仓库 +│ ├── docker-compose.yml +│ └── data/ +├── minio/ # MinIO存储 +│ ├── docker-compose.yml +│ └── data/ +└── nexus/ # Nexus仓库 + ├── docker-compose.yml + └── data/ ``` -### 2. **目录生成** -```markdown -[[_TOC_]] # 自动生成目录 +### 方案二:统一编排(更复杂) +``` +~/devops/ +├── docker-compose.yml # 所有服务统一编排 +├── .env # 环境变量 +├── config/ +│ ├── gerrit/ +│ ├── drone/ +│ ├── gitea/ +│ └── nginx/ +└── data/ + ├── gerrit/ + ├── drone/ + ├── gitea/ + └── minio/ ``` -### 3. **提示框** -```markdown -> **Note** -> 这是一个提示 +## 🏗️ 具体实现 -> **Warning** -> 这是一个警告 +### 方法1:分别部署(简单,推荐初学者) -> **Tip** -> 这是一个技巧 -``` - -### 4. **任务列表** -```markdown -- [ ] 未完成任务 -- [x] 已完成任务 -``` - -### 5. **表格** -```markdown -| 功能 | 状态 | 负责人 | -|------|------|--------| -| 登录 | 已完成 | @张三 | -| 注册 | 进行中 | @李四 | -``` - ---- - -## 📋 **Gitea Wiki 实用模板库** - -这里提供5个开箱即用的模板,覆盖项目文档核心需求。 - -### 模板1:📖 **项目首页** (`Home.md`) -```markdown -# {{项目名称}} - -> **项目状态**: 开发中 | 已上线 | 维护中 -> **最后更新**: {{日期}} -> **维护团队**: {{团队名称}} - -[[_TOC_]] - -## 🎯 项目简介 -{{用1-2句话描述项目是什么,解决什么问题}} - -## ✨ 主要特性 -- ✅ 特性一 -- ✅ 特性二 -- 🚧 特性三(开发中) -- 📅 特性四(规划中) - -## 🚀 快速开始 - -### 环境要求 -- **操作系统**: {{Windows 10+/macOS 10.15+/Linux}} -- **运行环境**: {{Java 11+/Node.js 16+/Python 3.8+}} -- **依赖服务**: {{MySQL 8.0+/Redis 6.0+}} - -### 三步启动 +#### 1. Gerrit目录 ```bash -# 1. 克隆项目 -git clone {{仓库地址}} +# 创建Gerrit目录 +mkdir -p ~/devops/gerrit && cd ~/devops/gerrit -# 2. 安装依赖 -{{安装命令}} +cat > docker-compose.yml << 'EOF' +version: '3.8' -# 3. 启动服务 -{{启动命令}} +services: + gerrit: + image: gerritcodereview/gerrit:3.8 + container_name: gerrit + environment: + - CANONICAL_WEB_URL=http://localhost:8081 + - DATABASE_TYPE=postgresql + - DB_ENV_POSTGRES_DB=gerrit + - DB_ENV_POSTGRES_USER=gerrit + - DB_ENV_POSTGRES_PASSWORD=gerrit + volumes: + - ./data:/var/gerrit/review_site + ports: + - "8081:8080" + - "29418:29418" + depends_on: + - postgres + restart: unless-stopped + + postgres: + image: postgres:13 + container_name: gerrit-postgres + environment: + - POSTGRES_DB=gerrit + - POSTGRES_USER=gerrit + - POSTGRES_PASSWORD=gerrit + volumes: + - ./postgres-data:/var/lib/postgresql/data + restart: unless-stopped +EOF + +# 启动Gerrit +docker-compose up -d ``` -## 📁 项目结构 -``` -project/ -├── src/ # 源代码 -├── docs/ # 文档 -├── config/ # 配置文件 -└── tests/ # 测试代码 -``` - -## 🔗 相关链接 -- [🚀 开发指南](开发/开发指南) -- [📚 API文档](开发/API文档) -- [🐛 问题追踪]({{Issues页面链接}}) -- [📦 版本发布]({{Releases页面链接}}) - -## 👥 团队协作 -| 角色 | 负责人 | 联系方式 | -|------|--------|----------| -| 项目经理 | @{{姓名}} | {{邮箱}} | -| 技术负责人 | @{{姓名}} | {{邮箱}} | -| 开发人员 | @{{姓名}} | {{邮箱}} | - ---- -*最后更新: {{日期}} by @{{更新人}}* -``` - -### 模板2:🔧 **开发指南** (`开发/开发指南.md`) -```markdown -# 开发指南 - -[[_TOC_]] - -## 开发环境搭建 - -### 1. 环境准备 +#### 2. Drone CI目录 ```bash -# 必备工具清单 -- Git {{版本}} -- {{开发工具}} {{版本}} -- {{数据库}} {{版本}} +# 创建Drone CI目录 +mkdir -p ~/devops/drone && cd ~/devops/drone + +cat > docker-compose.yml << 'EOF' +version: '3.8' + +services: + drone-server: + image: drone/drone:2 + container_name: drone-server + environment: + - DRONE_GITEA_SERVER=http://gitea:3000 # 指向Gitea + - DRONE_GITEA_CLIENT_ID=${DRONE_CLIENT_ID} + - DRONE_GITEA_CLIENT_SECRET=${DRONE_CLIENT_SECRET} + - DRONE_RPC_SECRET=${DRONE_RPC_SECRET} + - DRONE_SERVER_HOST=localhost:8080 + - DRONE_SERVER_PROTO=http + - DRONE_USER_CREATE=username:admin,admin:true + volumes: + - ./data:/data + ports: + - "8080:80" + networks: + - devops-net + restart: unless-stopped + + drone-runner: + image: drone/drone-runner-docker:1 + container_name: drone-runner + environment: + - DRONE_RPC_PROTO=http + - DRONE_RPC_HOST=drone-server + - DRONE_RPC_SECRET=${DRONE_RPC_SECRET} + - DRONE_RUNNER_CAPACITY=2 + - DRONE_RUNNER_NAME=docker-runner + volumes: + - /var/run/docker.sock:/var/run/docker.sock + networks: + - devops-net + restart: unless-stopped + depends_on: + - drone-server + +networks: + devops-net: + external: true # 使用外部网络,让各服务能互相访问 +EOF + +# 创建环境变量文件 +cat > .env << 'EOF' +DRONE_CLIENT_ID=your-client-id +DRONE_CLIENT_SECRET=your-client-secret +DRONE_RPC_SECRET=$(openssl rand -hex 16) +EOF + +# 创建网络(如果不存在) +docker network create devops-net 2>/dev/null || true + +# 启动Drone +docker-compose up -d ``` -### 2. 配置本地环境 +### 方法2:统一编排(高级) + ```bash -# 克隆仓库 -git clone {{仓库地址}} -cd {{项目目录}} +# 创建统一目录 +mkdir -p ~/devops-unified && cd ~/devops-unified -# 复制配置文件 -cp config/.env.example config/.env +cat > docker-compose.yml << 'EOF' +version: '3.8' -# 编辑配置 -vim config/.env +networks: + devops-net: + driver: bridge + +volumes: + gerrit_data: + gerrit_db: + drone_data: + gitea_data: + minio_data: + nexus_data: + +services: + # 1. Gerrit + gerrit: + image: gerritcodereview/gerrit:3.8 + container_name: gerrit + environment: + - CANONICAL_WEB_URL=http://gerrit:8080 + volumes: + - gerrit_data:/var/gerrit/review_site + ports: + - "8081:8080" + - "29418:29418" + networks: + - devops-net + restart: unless-stopped + depends_on: + - gerrit-db + + gerrit-db: + image: postgres:13 + container_name: gerrit-db + environment: + - POSTGRES_DB=gerrit + - POSTGRES_USER=gerrit + - POSTGRES_PASSWORD=gerrit + volumes: + - gerrit_db:/var/lib/postgresql/data + networks: + - devops-net + restart: unless-stopped + + # 2. Drone CI + drone-server: + image: drone/drone:2 + container_name: drone-server + environment: + - DRONE_GITEA_SERVER=http://gitea:3000 + - DRONE_GITEA_CLIENT_ID=${DRONE_CLIENT_ID} + - DRONE_GITEA_CLIENT_SECRET=${DRONE_CLIENT_SECRET} + - DRONE_RPC_SECRET=${DRONE_RPC_SECRET} + - DRONE_SERVER_HOST=drone + - DRONE_SERVER_PROTO=http + volumes: + - drone_data:/data + ports: + - "8080:80" + networks: + - devops-net + restart: unless-stopped + + drone-runner: + image: drone/drone-runner-docker:1 + container_name: drone-runner + environment: + - DRONE_RPC_PROTO=http + - DRONE_RPC_HOST=drone-server + - DRONE_RPC_SECRET=${DRONE_RPC_SECRET} + volumes: + - /var/run/docker.sock:/var/run/docker.sock + networks: + - devops-net + restart: unless-stopped + depends_on: + - drone-server + + # 3. Gitea + gitea: + image: gitea/gitea:latest + container_name: gitea + environment: + - USER_UID=1000 + - USER_GID=1000 + volumes: + - gitea_data:/data + ports: + - "3000:3000" + networks: + - devops-net + restart: unless-stopped + + # 4. MinIO + minio: + image: minio/minio:latest + container_name: minio + command: server /data --console-address ":9001" + environment: + - MINIO_ROOT_USER=admin + - MINIO_ROOT_PASSWORD=admin123 + volumes: + - minio_data:/data + ports: + - "9000:9000" + - "9001:9001" + networks: + - devops-net + restart: unless-stopped + + # 5. Nexus + nexus: + image: sonatype/nexus3:latest + container_name: nexus + volumes: + - nexus_data:/nexus-data + ports: + - "8082:8081" + networks: + - devops-net + restart: unless-stopped +EOF + +# 创建.env文件 +cat > .env << 'EOF' +DRONE_CLIENT_ID=generate-from-gitea +DRONE_CLIENT_SECRET=generate-from-gitea +DRONE_RPC_SECRET=$(openssl rand -hex 16) +EOF + +# 启动所有服务 +docker-compose up -d ``` -### 3. 安装依赖 +## 🔗 服务连接配置 + +### Drone连接Gerrit(如果使用Gerrit而不是Gitea) +```yaml +# Drone配置需要改为Gerrit +environment: + - DRONE_GERRIT_SERVER=http://gerrit:8080 + - DRONE_GERRIT_USERNAME=admin + - DRONE_GERRIT_PASSWORD=password +``` + +## 📝 选择建议 + +### 推荐方案:**分别部署** +**优点:** +1. **独立性**:各服务独立,互不影响 +2. **易于管理**:单独启动/停止/更新 +3. **故障隔离**:一个服务出问题不影响其他 +4. **学习曲线平缓**:更容易理解和调试 + +**部署步骤:** +1. 先部署基础服务(Gitea/MinIO/Nexus) +2. 再部署Gerrit +3. 最后部署Drone CI(依赖Gitea/Gerrit) + +### 何时使用统一编排: +- 所有服务紧密耦合 +- 需要统一的网络配置 +- 生产环境,有运维团队管理 +- 使用Kubernetes等编排平台 + +## 🚀 快速开始建议 + ```bash -# 后端依赖 -{{安装命令}} +# 1. 先创建Gitea +mkdir -p ~/devops/gitea && cd ~/devops/gitea +# ... 创建docker-compose.yml -# 前端依赖 -{{安装命令}} +# 2. 再创建Gerrit(如果需要) +mkdir -p ~/devops/gerrit && cd ~/devops/gerrit +# ... 创建docker-compose.yml + +# 3. 最后创建Drone +mkdir -p ~/devops/drone && cd ~/devops/drone +# ... 创建docker-compose.yml + +# 4. 创建共享网络 +docker network create devops-net + +# 5. 在每个目录的docker-compose.yml中使用外部网络 +# networks: +# default: +# external: +# name: devops-net ``` -## 🔄 开发流程 - -### 代码规范 -- **分支命名**: `feature/功能名`, `bugfix/问题描述`, `hotfix/紧急修复` -- **提交信息**: 遵循 Conventional Commits 规范 -- **代码风格**: 使用项目预设的 lint 规则 - -### 工作流程 -```mermaid -graph LR - A[创建Issue] --> B[新建功能分支] - B --> C[开发与自测] - C --> D[提交Pull Request] - D --> E[代码审查] - E --> F[合并到主分支] - F --> G[部署测试] -``` - -## 🧪 测试指南 - -### 单元测试 -```bash -# 运行测试 -{{测试命令}} - -# 生成覆盖率报告 -{{覆盖率命令}} -``` - -### 集成测试 -1. 启动测试环境 -2. 运行测试套件 -3. 查看测试报告 - -## 📦 构建与部署 - -### 本地构建 -```bash -{{构建命令}} -``` - -### 生产部署 -> **Warning** -> 生产部署需要管理员权限 - -1. 更新版本号 -2. 运行构建脚本 -3. 执行部署命令 - -## 🔍 调试技巧 - -### 常见问题 -| 问题 | 解决方案 | -|------|----------| -| 启动失败 | 检查端口占用,查看日志 | -| 数据库连接失败 | 验证配置,检查服务状态 | -| 依赖安装失败 | 切换镜像源,清除缓存 | - -### 日志查看 -```bash -# 查看实时日志 -tail -f logs/app.log - -# 按级别过滤 -grep "ERROR" logs/app.log -``` - -## 📚 学习资源 -- [官方文档]({{链接}}) -- [架构设计](架构设计) -- [API文档](API文档) -``` - -### 模板3:📡 **API文档** (`开发/API文档.md`) -```markdown -# API 文档 - -> **版本**: v1.0 -> **基础URL**: `https://api.example.com/v1` -> **认证方式**: Bearer Token - -[[_TOC_]] - -## 认证相关 - -### 获取访问令牌 -**POST** `/auth/login` - -#### 请求参数 -```json -{ - "username": "string", - "password": "string" -} -``` - -#### 响应示例 -```json -{ - "code": 200, - "message": "success", - "data": { - "token": "eyJhbGciOiJIUzI1NiIs...", - "expires_in": 7200 - } -} -``` - -#### 错误码 -| 状态码 | 说明 | -|--------|------| -| 401 | 用户名或密码错误 | -| 429 | 请求过于频繁 | - -## 用户管理 - -### 获取用户列表 -**GET** `/users` - -#### 查询参数 -| 参数 | 类型 | 必填 | 说明 | -|------|------|------|------| -| page | integer | 否 | 页码,默认1 | -| size | integer | 否 | 每页数量,默认20 | -| keyword | string | 否 | 搜索关键词 | - -#### 响应示例 -```json -{ - "code": 200, - "data": { - "list": [ - { - "id": 1, - "username": "zhangsan", - "email": "zhangsan@example.com", - "created_at": "2023-01-01T00:00:00Z" - } - ], - "total": 100, - "page": 1, - "size": 20 - } -} -``` - -### 创建用户 -**POST** `/users` - -> **Note** -> 需要管理员权限 - -#### 请求头 -``` -Authorization: Bearer {token} -Content-Type: application/json -``` - -#### 请求体 -```json -{ - "username": "string", - "email": "string", - "password": "string", - "role": "user" -} -``` - -## 状态码说明 -| 状态码 | 说明 | -|--------|------| -| 200 | 请求成功 | -| 201 | 创建成功 | -| 400 | 请求参数错误 | -| 401 | 未授权 | -| 403 | 权限不足 | -| 404 | 资源不存在 | -| 500 | 服务器内部错误 | - -## 📡 API 测试 -```bash -# 使用 curl 测试 -curl -X GET "https://api.example.com/v1/users" \ - -H "Authorization: Bearer {token}" - -# 使用 Postman 导入 -[Postman Collection 链接] -``` - -## 🔄 更新日志 -- **2023-10-01**: v1.0 初始版本 -- **2023-10-15**: 新增用户搜索功能 -``` - -### 模板4:🐛 **问题排查指南** (`运维/问题排查.md`) -```markdown -# 常见问题排查指南 - -[[_TOC_]] - -## 问题分类索引 - -### 🔴 紧急问题(立即处理) -1. [服务完全不可用](#服务完全不可用) -2. [数据库连接失败](#数据库连接失败) -3. [关键功能故障](#关键功能故障) - -### 🟡 重要问题(今日处理) -1. [性能下降](#性能下降) -2. [部分用户无法访问](#部分用户无法访问) -3. [数据不一致](#数据不一致) - -### 🟢 一般问题(本周处理) -1. [界面显示异常](#界面显示异常) -2. [功能使用不便](#功能使用不便) - -## 🔴 紧急问题 - -### 服务完全不可用 -**症状**: 所有用户无法访问,返回 5xx 错误 - -#### 排查步骤 -```bash -# 1. 检查服务状态 -systemctl status {{服务名}} - -# 2. 查看服务日志 -journalctl -u {{服务名}} -n 50 - -# 3. 检查端口占用 -netstat -tlnp | grep :{{端口}} - -# 4. 检查资源使用 -top -c -free -h -df -h -``` - -#### 快速恢复 -```bash -# 重启服务 -systemctl restart {{服务名}} - -# 回滚到上一个版本 -{{回滚脚本}} -``` - -### 数据库连接失败 -**症状**: 应用日志显示数据库连接异常 - -#### 排查步骤 -1. **检查数据库服务** - ```bash - # MySQL - systemctl status mysql - - # 连接测试 - mysql -h {{主机}} -u {{用户}} -p - ``` - -2. **检查连接配置** - ```bash - # 查看配置文件 - cat config/.env | grep DB_ - ``` - -3. **检查连接数** - ```sql - -- MySQL 查看连接数 - SHOW PROCESSLIST; - SHOW VARIABLES LIKE 'max_connections'; - ``` - -## 🧰 工具集 - -### 常用命令 -```bash -# 查看实时日志 -tail -f /var/log/{{服务}}/app.log - -# 查找错误 -grep -r "ERROR\|Exception" /var/log/{{服务}}/ - -# 性能监控 -htop -iotop -o -iftop -P -``` - -### 监控面板 -- **Grafana**: {{监控面板链接}} -- **日志平台**: {{日志平台链接}} -- **APM**: {{应用性能监控链接}} - -## 📞 紧急联系人 -| 时间段 | 负责人 | 电话 | 备用联系人 | -|--------|--------|------|------------| -| 工作日 9:00-18:00 | @{{姓名}} | {{电话}} | @{{姓名}} | -| 工作日 18:00-24:00 | @{{姓名}} | {{电话}} | @{{姓名}} | -| 周末及节假日 | @{{姓名}} | {{电话}} | @{{姓名}} | - -## 📚 参考文档 -- [部署文档](部署指南) -- [架构说明](架构设计) -- [监控告警配置](监控配置) -``` - -### 模板5:📊 **项目会议记录** (`管理/会议记录/2024-01-例会.md`) -```markdown -# 项目周会记录 - -## 会议基本信息 -- **日期**: {{2024-01-15}} -- **时间**: {{14:00}} - {{15:30}} -- **地点**: {{线上会议}} / {{会议室A}} -- **主持人**: @{{姓名}} -- **记录人**: @{{姓名}} -- **参会人员**: @{{人员1}} @{{人员2}} @{{人员3}} - -## 📋 议程 -1. 上周工作回顾 -2. 本周计划安排 -3. 问题与风险讨论 -4. 其他事项 - -## 🔍 上周工作回顾 - -### 已完成 -| 任务 | 负责人 | 状态 | 备注 | -|------|--------|------|------| -| {{功能A开发}} | @{{姓名}} | ✅ 完成 | 已通过测试 | -| {{Bug修复}} | @{{姓名}} | ✅ 完成 | 已部署到测试环境 | -| {{文档编写}} | @{{姓名}} | ✅ 完成 | 已更新到Wiki | - -### 进行中 -| 任务 | 负责人 | 进度 | 预计完成 | -|------|--------|------|----------| -| {{功能B开发}} | @{{姓名}} | 70% | 2024-01-18 | -| {{性能优化}} | @{{姓名}} | 40% | 2024-01-19 | - -### 未完成/延迟 -| 任务 | 负责人 | 原因 | 新计划 | -|------|--------|------|--------| -| {{第三方集成}} | @{{姓名}} | 接口文档延迟提供 | 2024-01-22 | - -## 🎯 本周计划 - -### 开发任务 -- [ ] {{功能B联调测试}} (@{{姓名}}) -- [ ] {{数据库迁移准备}} (@{{姓名}}) -- [ ] {{移动端适配}} (@{{姓名}}) - -### 其他任务 -- [ ] {{技术方案评审}} (周三) -- [ ] {{项目进度汇报}} (周五) - -## ⚠️ 问题与风险 - -### 当前问题 -1. **问题描述**: {{第三方服务不稳定}} - - **影响**: {{调用失败率5%}} - - **解决方案**: {{添加重试机制和降级方案}} - - **负责人**: @{{姓名}} - - **解决时限**: {{2024-01-17}} - -2. **问题描述**: {{测试环境资源不足}} - - **影响**: {{自动化测试运行缓慢}} - - **解决方案**: {{申请扩容测试服务器}} - - **负责人**: @{{姓名}} - -### 风险识别 -| 风险 | 可能性 | 影响程度 | 应对措施 | -|------|--------|----------|----------| -| {{关键人员请假}} | 低 | 高 | {{知识分享,任务备份}} | -| {{需求变更}} | 中 | 中 | {{加强沟通,预留缓冲}} | - -## 💡 重要决策 -1. **决策**: {{采用方案A而非方案B}} - - **原因**: {{方案A更稳定,维护成本低}} - - **影响**: {{开发周期增加1天}} - -2. **决策**: {{推迟功能C到下个迭代}} - - **原因**: {{当前资源紧张,优先级调整}} - - **影响**: {{需要与产品沟通调整发布计划}} - -## 📝 行动计划 -| 事项 | 负责人 | 截止时间 | 产出物 | -|------|--------|----------|--------| -| {{完成功能B联调}} | @{{姓名}} | 2024-01-18 | {{可测试版本}} | -| {{解决第三方服务问题}} | @{{姓名}} | 2024-01-17 | {{技术方案文档}} | -| {{准备进度汇报材料}} | @{{姓名}} | 2024-01-19 | {{PPT报告}} | - -## 🔗 相关材料 -- [项目看板]({{看板链接}}) -- [上周会议记录](2024-01-08-例会) -- [技术方案文档]({{文档链接}}) - -## 🗓️ 下次会议 -- **时间**: {{2024-01-22}} {{14:00}} -- **主持人**: @{{姓名}} -- **会前准备**: {{每人准备2分钟进度汇报}} - ---- -*会议记录更新于: {{2024-01-15 16:00}}* -``` - ---- - -## 🗂️ **Wiki 组织结构建议** - -### 推荐目录结构 -``` -Home.md # 项目首页 -├── 开发/ # 技术文档 -│ ├── 开发指南.md -│ ├── API文档.md -│ ├── 架构设计.md -│ └── 数据库设计.md -├── 部署/ # 运维部署 -│ ├── 部署指南.md -│ ├── 问题排查.md -│ └── 监控配置.md -├── 管理/ # 项目管理 -│ ├── 会议记录/ -│ │ ├── 2024-01-08-例会.md -│ │ └── 2024-01-15-例会.md -│ └── 项目计划.md -├── 产品/ # 产品文档 -│ ├── 需求文档.md -│ └── 功能说明.md -└── 团队/ # 团队协作 - ├── 团队规范.md - ├── 新人指引.md - └── 常用工具.md -``` - -### 命名规范 -- **英文优先**: 建议使用英文命名,便于链接和搜索 -- **简洁明确**: `API文档.md` 而非 `关于API的详细文档说明.md` -- **避免特殊字符**: 不要使用 `? * : " < > | \` 等字符 - ---- - -## 💡 **高级技巧** - -### 1. **Wiki 与 Issue 联动** -```markdown -在 Issue 中引用 Wiki: -相关文档: [开发指南](开发/开发指南) - -在 Wiki 中引用 Issue: -待解决问题: #123, #456 -``` - -### 2. **创建侧边栏导航** -创建 `_Sidebar.md` 文件(如果 Gitea 支持): -```markdown -## 导航 -- [首页](Home) -- [开发文档](开发/开发指南) -- [API文档](开发/API文档) -- [部署运维](部署/部署指南) - -## 快速链接 -- [项目看板]({{看板链接}}) -- [代码仓库]({{仓库链接}}) -- [Issue列表]({{Issues链接}}) -``` - -### 3. **版本化管理** -Wiki 本身基于 Git,可以: -```bash -# 克隆 Wiki 仓库 -git clone https://your-gitea.com/username/repo.wiki.git - -# 本地编辑后提交 -git add . -git commit -m "更新文档" -git push -``` - -### 4. **权限控制** -- 默认 Wiki 权限与仓库相同 -- 可通过仓库设置调整成员权限 - ---- - -## 🚀 **立即开始** - -1. **选择模板**:根据需求选择合适的模板 -2. **复制内容**:将模板复制到 Gitea Wiki 编辑器 -3. **替换变量**:修改 `{{变量}}` 为实际内容 -4. **建立链接**:在页面间添加相互链接 -5. **保持更新**:养成及时更新文档的习惯 - -这些模板覆盖了项目文档的主要场景,你可以直接复制使用或按需调整。Wiki 的最大价值在于**持续更新和团队共享**,建议将文档更新纳入日常工作流程。 \ No newline at end of file +**总结:从简单开始,先分别部署,熟练后再考虑统一编排。** \ No newline at end of file