Files
mkdocs/docs/技术文档/部署文档.md

161 lines
2.4 KiB
Markdown
Raw Normal View History

2026-01-05 10:31:24 +08:00
# 部署文档
## 环境要求
- **操作系统**: 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 <容器名>
```