新增文档
This commit is contained in:
@@ -1,78 +1,78 @@
|
||||
# API 文档
|
||||
|
||||
## Gerrit API
|
||||
|
||||
### REST API
|
||||
|
||||
Gerrit 提供 REST API 用于程序化访问。
|
||||
|
||||
**基础 URL**: `http://101.43.95.130:8082/a/`
|
||||
|
||||
### 获取变更信息
|
||||
|
||||
```bash
|
||||
curl http://101.43.95.130:8082/a/changes/12345
|
||||
```
|
||||
|
||||
### 获取项目列表
|
||||
|
||||
```bash
|
||||
curl http://101.43.95.130:8082/a/projects/
|
||||
```
|
||||
|
||||
## Gitea API
|
||||
|
||||
### REST API
|
||||
|
||||
Gitea 提供完整的 REST API。
|
||||
|
||||
**基础 URL**: `http://101.43.95.130:3000/api/v1/`
|
||||
|
||||
### 获取用户信息
|
||||
|
||||
```bash
|
||||
curl -H "Authorization: token YOUR_TOKEN" \
|
||||
http://101.43.95.130:3000/api/v1/user
|
||||
```
|
||||
|
||||
### 创建仓库
|
||||
|
||||
```bash
|
||||
curl -X POST \
|
||||
-H "Authorization: token YOUR_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"name":"my-repo"}' \
|
||||
http://101.43.95.130:3000/api/v1/user/repos
|
||||
```
|
||||
|
||||
## MinIO API
|
||||
|
||||
### S3 兼容 API
|
||||
|
||||
MinIO 完全兼容 Amazon S3 API。
|
||||
|
||||
**端点**: `http://101.43.95.130:9000`
|
||||
|
||||
### 使用 AWS CLI
|
||||
|
||||
```bash
|
||||
aws --endpoint-url http://101.43.95.130:9000 \
|
||||
s3 ls s3://my-bucket
|
||||
```
|
||||
|
||||
## Drone API
|
||||
|
||||
### REST API
|
||||
|
||||
Drone 提供 REST API 用于管理构建和仓库。
|
||||
|
||||
**基础 URL**: `http://101.43.95.130:3000/api/`
|
||||
|
||||
### 触发构建
|
||||
|
||||
```bash
|
||||
curl -X POST \
|
||||
-H "Authorization: Bearer YOUR_TOKEN" \
|
||||
http://101.43.95.130:3000/api/repos/owner/name/builds
|
||||
```
|
||||
|
||||
# API 文档
|
||||
|
||||
## Gerrit API
|
||||
|
||||
### REST API
|
||||
|
||||
Gerrit 提供 REST API 用于程序化访问。
|
||||
|
||||
**基础 URL**: `http://101.43.95.130:8082/a/`
|
||||
|
||||
### 获取变更信息
|
||||
|
||||
```bash
|
||||
curl http://101.43.95.130:8082/a/changes/12345
|
||||
```
|
||||
|
||||
### 获取项目列表
|
||||
|
||||
```bash
|
||||
curl http://101.43.95.130:8082/a/projects/
|
||||
```
|
||||
|
||||
## Gitea API
|
||||
|
||||
### REST API
|
||||
|
||||
Gitea 提供完整的 REST API。
|
||||
|
||||
**基础 URL**: `http://101.43.95.130:3000/api/v1/`
|
||||
|
||||
### 获取用户信息
|
||||
|
||||
```bash
|
||||
curl -H "Authorization: token YOUR_TOKEN" \
|
||||
http://101.43.95.130:3000/api/v1/user
|
||||
```
|
||||
|
||||
### 创建仓库
|
||||
|
||||
```bash
|
||||
curl -X POST \
|
||||
-H "Authorization: token YOUR_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"name":"my-repo"}' \
|
||||
http://101.43.95.130:3000/api/v1/user/repos
|
||||
```
|
||||
|
||||
## MinIO API
|
||||
|
||||
### S3 兼容 API
|
||||
|
||||
MinIO 完全兼容 Amazon S3 API。
|
||||
|
||||
**端点**: `http://101.43.95.130:9000`
|
||||
|
||||
### 使用 AWS CLI
|
||||
|
||||
```bash
|
||||
aws --endpoint-url http://101.43.95.130:9000 \
|
||||
s3 ls s3://my-bucket
|
||||
```
|
||||
|
||||
## Drone API
|
||||
|
||||
### REST API
|
||||
|
||||
Drone 提供 REST API 用于管理构建和仓库。
|
||||
|
||||
**基础 URL**: `http://101.43.95.130:3000/api/`
|
||||
|
||||
### 触发构建
|
||||
|
||||
```bash
|
||||
curl -X POST \
|
||||
-H "Authorization: Bearer YOUR_TOKEN" \
|
||||
http://101.43.95.130:3000/api/repos/owner/name/builds
|
||||
```
|
||||
|
||||
|
||||
@@ -1,58 +1,58 @@
|
||||
# 架构设计
|
||||
|
||||
## 系统架构
|
||||
|
||||
### 整体架构
|
||||
|
||||
```
|
||||
┌─────────────┐
|
||||
│ 用户 │
|
||||
└──────┬──────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────┐
|
||||
│ DevOps 平台 │
|
||||
├─────────────────────────────────────┤
|
||||
│ Gerrit │ Gitea │ Drone CI │
|
||||
│ (代码审查)│ (Git仓库)│ (CI/CD) │
|
||||
├─────────────────────────────────────┤
|
||||
│ MinIO │ Nexus │ MkDocs │
|
||||
│ (对象存储)│ (Maven) │ (知识库) │
|
||||
└─────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 服务说明
|
||||
|
||||
### 代码管理
|
||||
|
||||
- **Gerrit**: 代码审查和协作
|
||||
- **Gitea**: Git 仓库管理
|
||||
|
||||
### CI/CD
|
||||
|
||||
- **Drone CI**: 持续集成和部署
|
||||
|
||||
### 存储服务
|
||||
|
||||
- **MinIO**: 对象存储,用于构建产物和文件
|
||||
- **Nexus**: Maven 仓库,用于依赖管理
|
||||
|
||||
### 文档服务
|
||||
|
||||
- **MkDocs**: 个人知识库和文档管理
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **容器化**: Docker + Docker Compose
|
||||
- **版本控制**: Git
|
||||
- **CI/CD**: Drone
|
||||
- **存储**: MinIO
|
||||
- **文档**: MkDocs Material
|
||||
|
||||
## 部署架构
|
||||
|
||||
所有服务使用 Docker Compose 部署,便于管理和维护。
|
||||
|
||||
## 数据持久化
|
||||
|
||||
所有服务的数据都存储在 Docker 卷中,确保数据持久化。
|
||||
# 架构设计
|
||||
|
||||
## 系统架构
|
||||
|
||||
### 整体架构
|
||||
|
||||
```
|
||||
┌─────────────┐
|
||||
│ 用户 │
|
||||
└──────┬──────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────┐
|
||||
│ DevOps 平台 │
|
||||
├─────────────────────────────────────┤
|
||||
│ Gerrit │ Gitea │ Drone CI │
|
||||
│ (代码审查)│ (Git仓库)│ (CI/CD) │
|
||||
├─────────────────────────────────────┤
|
||||
│ MinIO │ Nexus │ MkDocs │
|
||||
│ (对象存储)│ (Maven) │ (知识库) │
|
||||
└─────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 服务说明
|
||||
|
||||
### 代码管理
|
||||
|
||||
- **Gerrit**: 代码审查和协作
|
||||
- **Gitea**: Git 仓库管理
|
||||
|
||||
### CI/CD
|
||||
|
||||
- **Drone CI**: 持续集成和部署
|
||||
|
||||
### 存储服务
|
||||
|
||||
- **MinIO**: 对象存储,用于构建产物和文件
|
||||
- **Nexus**: Maven 仓库,用于依赖管理
|
||||
|
||||
### 文档服务
|
||||
|
||||
- **MkDocs**: 个人知识库和文档管理
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **容器化**: Docker + Docker Compose
|
||||
- **版本控制**: Git
|
||||
- **CI/CD**: Drone
|
||||
- **存储**: MinIO
|
||||
- **文档**: MkDocs Material
|
||||
|
||||
## 部署架构
|
||||
|
||||
所有服务使用 Docker Compose 部署,便于管理和维护。
|
||||
|
||||
## 数据持久化
|
||||
|
||||
所有服务的数据都存储在 Docker 卷中,确保数据持久化。
|
||||
|
||||
@@ -1,160 +1,160 @@
|
||||
# 部署文档
|
||||
|
||||
## 环境要求
|
||||
|
||||
- **操作系统**: Linux (CentOS 7+)
|
||||
- **Docker**: 20.10+
|
||||
- **Docker Compose**: 1.29+
|
||||
- **内存**: 建议 4GB+
|
||||
- **磁盘**: 建议 50GB+
|
||||
|
||||
## 部署步骤
|
||||
|
||||
### 1. 安装 Docker 和 Docker Compose
|
||||
|
||||
```bash
|
||||
# 安装 Docker
|
||||
sudo yum install -y docker
|
||||
sudo systemctl start docker
|
||||
sudo systemctl enable docker
|
||||
|
||||
# 安装 Docker Compose
|
||||
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
sudo chmod +x /usr/local/bin/docker-compose
|
||||
```
|
||||
|
||||
### 2. 克隆或创建项目目录
|
||||
|
||||
```bash
|
||||
mkdir -p /home/renjianbo/devops
|
||||
cd /home/renjianbo/devops
|
||||
```
|
||||
|
||||
### 3. 启动各个服务
|
||||
|
||||
#### Gerrit
|
||||
|
||||
```bash
|
||||
cd gerrit
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
#### Gitea
|
||||
|
||||
```bash
|
||||
cd gitea
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
#### MinIO
|
||||
|
||||
```bash
|
||||
cd minio
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
#### Nexus
|
||||
|
||||
```bash
|
||||
cd nexus
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
#### Drone CI
|
||||
|
||||
```bash
|
||||
cd drone-ci
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
#### MkDocs
|
||||
|
||||
```bash
|
||||
cd mkdocs
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### 4. 验证部署
|
||||
|
||||
```bash
|
||||
# 检查所有容器状态
|
||||
docker ps
|
||||
|
||||
# 检查端口监听
|
||||
netstat -tlnp | grep -E "8000|8082|3000|9000|8081"
|
||||
```
|
||||
|
||||
## 配置说明
|
||||
|
||||
### 端口映射
|
||||
|
||||
- **Gerrit**: 8082 (HTTP), 29418 (SSH)
|
||||
- **Gitea**: 3000 (HTTP), 222 (SSH)
|
||||
- **MinIO**: 9000 (API), 9001 (Console)
|
||||
- **Nexus**: 8081 (HTTP)
|
||||
- **Drone CI**: 3000 (HTTP)
|
||||
- **MkDocs**: 8000 (HTTP)
|
||||
|
||||
### 数据持久化
|
||||
|
||||
所有服务的数据存储在 Docker 卷中,确保数据持久化。
|
||||
|
||||
## 备份和恢复
|
||||
|
||||
### 备份
|
||||
|
||||
```bash
|
||||
# 备份所有数据
|
||||
cd /home/renjianbo/devops
|
||||
./scripts/backup.sh
|
||||
```
|
||||
|
||||
### 恢复
|
||||
|
||||
```bash
|
||||
# 恢复数据
|
||||
cd /home/renjianbo/devops
|
||||
./scripts/restore.sh
|
||||
```
|
||||
|
||||
## 监控和维护
|
||||
|
||||
### 查看日志
|
||||
|
||||
```bash
|
||||
# 查看特定服务日志
|
||||
cd /home/renjianbo/devops/<服务名>
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
### 更新服务
|
||||
|
||||
```bash
|
||||
# 拉取最新镜像
|
||||
docker-compose pull
|
||||
|
||||
# 重启服务
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 故障排查
|
||||
|
||||
### 端口冲突
|
||||
|
||||
如果端口被占用,修改 `docker-compose.yml` 中的端口映射。
|
||||
|
||||
### 权限问题
|
||||
|
||||
确保数据目录有正确的权限:
|
||||
|
||||
```bash
|
||||
sudo chown -R $USER:$USER /home/renjianbo/devops/*/data
|
||||
```
|
||||
|
||||
### 容器无法启动
|
||||
|
||||
查看容器日志:
|
||||
|
||||
```bash
|
||||
docker logs <容器名>
|
||||
```
|
||||
# 部署文档
|
||||
|
||||
## 环境要求
|
||||
|
||||
- **操作系统**: Linux (CentOS 7+)
|
||||
- **Docker**: 20.10+
|
||||
- **Docker Compose**: 1.29+
|
||||
- **内存**: 建议 4GB+
|
||||
- **磁盘**: 建议 50GB+
|
||||
|
||||
## 部署步骤
|
||||
|
||||
### 1. 安装 Docker 和 Docker Compose
|
||||
|
||||
```bash
|
||||
# 安装 Docker
|
||||
sudo yum install -y docker
|
||||
sudo systemctl start docker
|
||||
sudo systemctl enable docker
|
||||
|
||||
# 安装 Docker Compose
|
||||
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
sudo chmod +x /usr/local/bin/docker-compose
|
||||
```
|
||||
|
||||
### 2. 克隆或创建项目目录
|
||||
|
||||
```bash
|
||||
mkdir -p /home/renjianbo/devops
|
||||
cd /home/renjianbo/devops
|
||||
```
|
||||
|
||||
### 3. 启动各个服务
|
||||
|
||||
#### Gerrit
|
||||
|
||||
```bash
|
||||
cd gerrit
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
#### Gitea
|
||||
|
||||
```bash
|
||||
cd gitea
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
#### MinIO
|
||||
|
||||
```bash
|
||||
cd minio
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
#### Nexus
|
||||
|
||||
```bash
|
||||
cd nexus
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
#### Drone CI
|
||||
|
||||
```bash
|
||||
cd drone-ci
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
#### MkDocs
|
||||
|
||||
```bash
|
||||
cd mkdocs
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### 4. 验证部署
|
||||
|
||||
```bash
|
||||
# 检查所有容器状态
|
||||
docker ps
|
||||
|
||||
# 检查端口监听
|
||||
netstat -tlnp | grep -E "8000|8082|3000|9000|8081"
|
||||
```
|
||||
|
||||
## 配置说明
|
||||
|
||||
### 端口映射
|
||||
|
||||
- **Gerrit**: 8082 (HTTP), 29418 (SSH)
|
||||
- **Gitea**: 3000 (HTTP), 222 (SSH)
|
||||
- **MinIO**: 9000 (API), 9001 (Console)
|
||||
- **Nexus**: 8081 (HTTP)
|
||||
- **Drone CI**: 3000 (HTTP)
|
||||
- **MkDocs**: 8000 (HTTP)
|
||||
|
||||
### 数据持久化
|
||||
|
||||
所有服务的数据存储在 Docker 卷中,确保数据持久化。
|
||||
|
||||
## 备份和恢复
|
||||
|
||||
### 备份
|
||||
|
||||
```bash
|
||||
# 备份所有数据
|
||||
cd /home/renjianbo/devops
|
||||
./scripts/backup.sh
|
||||
```
|
||||
|
||||
### 恢复
|
||||
|
||||
```bash
|
||||
# 恢复数据
|
||||
cd /home/renjianbo/devops
|
||||
./scripts/restore.sh
|
||||
```
|
||||
|
||||
## 监控和维护
|
||||
|
||||
### 查看日志
|
||||
|
||||
```bash
|
||||
# 查看特定服务日志
|
||||
cd /home/renjianbo/devops/<服务名>
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
### 更新服务
|
||||
|
||||
```bash
|
||||
# 拉取最新镜像
|
||||
docker-compose pull
|
||||
|
||||
# 重启服务
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 故障排查
|
||||
|
||||
### 端口冲突
|
||||
|
||||
如果端口被占用,修改 `docker-compose.yml` 中的端口映射。
|
||||
|
||||
### 权限问题
|
||||
|
||||
确保数据目录有正确的权限:
|
||||
|
||||
```bash
|
||||
sudo chown -R $USER:$USER /home/renjianbo/devops/*/data
|
||||
```
|
||||
|
||||
### 容器无法启动
|
||||
|
||||
查看容器日志:
|
||||
|
||||
```bash
|
||||
docker logs <容器名>
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user