first commit
This commit is contained in:
79
docs/DevOps平台/Drone CI使用指南.md
Normal file
79
docs/DevOps平台/Drone CI使用指南.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Drone CI 使用指南
|
||||
|
||||
## 简介
|
||||
|
||||
Drone 是一个基于容器的持续集成/持续部署(CI/CD)平台。
|
||||
|
||||
## 访问地址
|
||||
|
||||
- **Web 界面**: http://101.43.95.130:3000 (需配置)
|
||||
|
||||
## 基本概念
|
||||
|
||||
### Pipeline
|
||||
|
||||
Pipeline 是 CI/CD 的执行流程,定义在 `.drone.yml` 文件中。
|
||||
|
||||
### Step
|
||||
|
||||
Step 是 Pipeline 中的一个步骤,每个 Step 在一个独立的容器中执行。
|
||||
|
||||
### Service
|
||||
|
||||
Service 是 Pipeline 中提供的服务,如数据库、缓存等。
|
||||
|
||||
## 配置文件示例
|
||||
|
||||
在项目根目录创建 `.drone.yml`:
|
||||
|
||||
```yaml
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: default
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: maven:3.8-openjdk-17
|
||||
commands:
|
||||
- mvn clean package
|
||||
|
||||
- name: test
|
||||
image: maven:3.8-openjdk-17
|
||||
commands:
|
||||
- mvn test
|
||||
|
||||
- name: deploy
|
||||
image: alpine
|
||||
commands:
|
||||
- echo "部署应用..."
|
||||
```
|
||||
|
||||
## 常用操作
|
||||
|
||||
### 触发构建
|
||||
|
||||
- 推送到仓库会自动触发构建
|
||||
- 在 Web 界面手动触发构建
|
||||
|
||||
### 查看构建日志
|
||||
|
||||
在 Web 界面查看构建日志,了解构建过程。
|
||||
|
||||
### 构建状态
|
||||
|
||||
- **Success**: 构建成功
|
||||
- **Failure**: 构建失败
|
||||
- **Running**: 构建中
|
||||
- **Pending**: 等待执行
|
||||
|
||||
## 最佳实践
|
||||
|
||||
1. **缓存依赖**: 使用缓存加速构建
|
||||
2. **并行执行**: 将独立的任务并行执行
|
||||
3. **环境变量**: 使用密钥管理敏感信息
|
||||
4. **通知机制**: 配置构建通知
|
||||
|
||||
## 相关链接
|
||||
|
||||
- [Drone 官方文档](https://docs.drone.io/)
|
||||
|
||||
63
docs/DevOps平台/Gerrit使用指南.md
Normal file
63
docs/DevOps平台/Gerrit使用指南.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Gerrit 使用指南
|
||||
|
||||
## 简介
|
||||
|
||||
Gerrit 是一个基于 Git 的代码审查工具,用于团队协作和代码质量控制。
|
||||
|
||||
## 访问地址
|
||||
|
||||
- **Web 界面**: http://101.43.95.130:8082
|
||||
- **SSH 端口**: 29418
|
||||
|
||||
## 基本使用
|
||||
|
||||
### 克隆项目
|
||||
|
||||
```bash
|
||||
git clone ssh://admin@101.43.95.130:29418/项目名
|
||||
```
|
||||
|
||||
### 提交代码审查
|
||||
|
||||
1. 创建分支并提交更改
|
||||
2. 推送到 Gerrit 进行审查:
|
||||
```bash
|
||||
git push origin HEAD:refs/for/master
|
||||
```
|
||||
3. 在 Web 界面查看审查请求
|
||||
|
||||
### 审查流程
|
||||
|
||||
1. **创建变更**: 开发者推送代码
|
||||
2. **代码审查**: 审查者查看代码并添加评论
|
||||
3. **修改代码**: 根据反馈修改代码
|
||||
4. **重新提交**: 推送新的补丁集
|
||||
5. **通过审查**: 审查者批准代码
|
||||
6. **合并代码**: 代码合并到主分支
|
||||
|
||||
## 常用命令
|
||||
|
||||
### 查看待审查的变更
|
||||
|
||||
```bash
|
||||
ssh -p 29418 admin@101.43.95.130 gerrit query --format=JSON status:open
|
||||
```
|
||||
|
||||
### 查看特定变更
|
||||
|
||||
```bash
|
||||
ssh -p 29418 admin@101.43.95.130 gerrit query change:12345
|
||||
```
|
||||
|
||||
## 最佳实践
|
||||
|
||||
1. **小步提交**: 每次提交只包含一个功能或修复
|
||||
2. **清晰的提交信息**: 使用清晰的提交信息说明更改内容
|
||||
3. **及时响应**: 及时响应审查者的反馈
|
||||
4. **代码质量**: 确保代码通过所有测试和检查
|
||||
|
||||
## 相关链接
|
||||
|
||||
- [Gerrit 官方文档](https://gerrit-review.googlesource.com/Documentation/)
|
||||
- [Gerrit 工作流程](https://gerrit-review.googlesource.com/Documentation/intro-user.html)
|
||||
|
||||
57
docs/DevOps平台/Gitea使用指南.md
Normal file
57
docs/DevOps平台/Gitea使用指南.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# Gitea 使用指南
|
||||
|
||||
## 简介
|
||||
|
||||
Gitea 是一个轻量级的 Git 服务,提供 Web 界面和 Git 仓库管理功能。
|
||||
|
||||
## 访问地址
|
||||
|
||||
- **Web 界面**: http://101.43.95.130:3000
|
||||
- **SSH 端口**: 222
|
||||
|
||||
## 基本使用
|
||||
|
||||
### 创建仓库
|
||||
|
||||
1. 登录 Gitea
|
||||
2. 点击右上角 "+" 按钮
|
||||
3. 选择 "New Repository"
|
||||
4. 填写仓库信息并创建
|
||||
|
||||
### 克隆仓库
|
||||
|
||||
```bash
|
||||
# HTTPS
|
||||
git clone http://101.43.95.130:3000/用户名/仓库名.git
|
||||
|
||||
# SSH
|
||||
git clone ssh://git@101.43.95.130:222/用户名/仓库名.git
|
||||
```
|
||||
|
||||
### 推送代码
|
||||
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "提交信息"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
## 功能特性
|
||||
|
||||
- **代码仓库**: Git 仓库管理
|
||||
- **Issue 跟踪**: 问题跟踪和管理
|
||||
- **Pull Request**: 代码合并请求
|
||||
- **Wiki**: 项目文档
|
||||
- **项目管理**: 看板和里程碑
|
||||
|
||||
## 最佳实践
|
||||
|
||||
1. **分支管理**: 使用分支进行功能开发
|
||||
2. **提交规范**: 遵循提交信息规范
|
||||
3. **代码审查**: 使用 Pull Request 进行代码审查
|
||||
4. **文档维护**: 使用 Wiki 维护项目文档
|
||||
|
||||
## 相关链接
|
||||
|
||||
- [Gitea 官方文档](https://docs.gitea.io/)
|
||||
|
||||
87
docs/DevOps平台/MinIO使用指南.md
Normal file
87
docs/DevOps平台/MinIO使用指南.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# MinIO 使用指南
|
||||
|
||||
## 简介
|
||||
|
||||
MinIO 是一个高性能的对象存储服务,兼容 Amazon S3 API。
|
||||
|
||||
## 访问地址
|
||||
|
||||
- **API 地址**: http://101.43.95.130:9000
|
||||
- **Console 地址**: http://101.43.95.130:9001
|
||||
- **默认账号**: minioadmin / minioadmin123
|
||||
|
||||
## 基本使用
|
||||
|
||||
### 创建存储桶(Bucket)
|
||||
|
||||
1. 登录 MinIO Console
|
||||
2. 点击 "Create Bucket"
|
||||
3. 输入存储桶名称
|
||||
4. 配置访问策略
|
||||
|
||||
### 上传文件
|
||||
|
||||
1. 选择存储桶
|
||||
2. 点击 "Upload"
|
||||
3. 选择文件上传
|
||||
|
||||
### 下载文件
|
||||
|
||||
1. 在存储桶中找到文件
|
||||
2. 点击文件下载
|
||||
|
||||
## API 使用
|
||||
|
||||
### 使用 Python SDK
|
||||
|
||||
```python
|
||||
from minio import Minio
|
||||
from minio.error import S3Error
|
||||
|
||||
# 初始化客户端
|
||||
client = Minio(
|
||||
"101.43.95.130:9000",
|
||||
access_key="minioadmin",
|
||||
secret_key="minioadmin123",
|
||||
secure=False
|
||||
)
|
||||
|
||||
# 上传文件
|
||||
client.fput_object("my-bucket", "object-name", "file-path")
|
||||
```
|
||||
|
||||
### 使用 Java SDK
|
||||
|
||||
```java
|
||||
MinioClient minioClient = MinioClient.builder()
|
||||
.endpoint("http://101.43.95.130:9000")
|
||||
.credentials("minioadmin", "minioadmin123")
|
||||
.build();
|
||||
|
||||
minioClient.uploadObject(
|
||||
UploadObjectArgs.builder()
|
||||
.bucket("my-bucket")
|
||||
.object("object-name")
|
||||
.filename("file-path")
|
||||
.build()
|
||||
);
|
||||
```
|
||||
|
||||
## 使用场景
|
||||
|
||||
- **构建产物存储**: 存储 CI/CD 构建的产物
|
||||
- **APK 仓库**: 存储 Android APK 文件
|
||||
- **文件备份**: 备份重要文件
|
||||
- **静态资源**: 存储网站静态资源
|
||||
|
||||
## 最佳实践
|
||||
|
||||
1. **访问控制**: 配置适当的访问策略
|
||||
2. **数据备份**: 定期备份重要数据
|
||||
3. **版本控制**: 启用对象版本控制
|
||||
4. **监控告警**: 配置监控和告警
|
||||
|
||||
## 相关链接
|
||||
|
||||
- [MinIO 官方文档](https://min.io/docs/)
|
||||
|
||||
96
docs/DevOps平台/Nexus使用指南.md
Normal file
96
docs/DevOps平台/Nexus使用指南.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# Nexus 使用指南
|
||||
|
||||
## 简介
|
||||
|
||||
Nexus Repository Manager 是一个 Maven 仓库管理器,用于管理构建依赖和发布构件。
|
||||
|
||||
## 访问地址
|
||||
|
||||
- **Web 界面**: http://101.43.95.130:8081
|
||||
- **默认账号**: admin (首次登录会提示修改密码)
|
||||
|
||||
## 基本使用
|
||||
|
||||
### 配置 Maven
|
||||
|
||||
在 `~/.m2/settings.xml` 中配置:
|
||||
|
||||
```xml
|
||||
<settings>
|
||||
<mirrors>
|
||||
<mirror>
|
||||
<id>nexus</id>
|
||||
<mirrorOf>*</mirrorOf>
|
||||
<url>http://101.43.95.130:8081/repository/maven-public/</url>
|
||||
</mirror>
|
||||
</mirrors>
|
||||
</settings>
|
||||
```
|
||||
|
||||
### 发布构件
|
||||
|
||||
在项目的 `pom.xml` 中配置:
|
||||
|
||||
```xml
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>nexus-releases</id>
|
||||
<url>http://101.43.95.130:8081/repository/maven-releases/</url>
|
||||
</repository>
|
||||
<snapshotRepository>
|
||||
<id>nexus-snapshots</id>
|
||||
<url>http://101.43.95.130:8081/repository/maven-snapshots/</url>
|
||||
</snapshotRepository>
|
||||
</distributionManagement>
|
||||
```
|
||||
|
||||
### 发布命令
|
||||
|
||||
```bash
|
||||
mvn clean deploy
|
||||
```
|
||||
|
||||
## 仓库类型
|
||||
|
||||
### Maven Central 代理
|
||||
|
||||
- **名称**: maven-central
|
||||
- **类型**: Proxy
|
||||
- **远程 URL**: https://repo1.maven.org/maven2/
|
||||
|
||||
### Maven Public 组
|
||||
|
||||
- **名称**: maven-public
|
||||
- **类型**: Group
|
||||
- **包含**: maven-central, maven-releases, maven-snapshots
|
||||
|
||||
### Maven Releases
|
||||
|
||||
- **名称**: maven-releases
|
||||
- **类型**: Hosted
|
||||
- **策略**: Release
|
||||
|
||||
### Maven Snapshots
|
||||
|
||||
- **名称**: maven-snapshots
|
||||
- **类型**: Hosted
|
||||
- **策略**: Snapshot
|
||||
|
||||
## 使用场景
|
||||
|
||||
- **依赖加速**: 加速 Gradle/Maven 依赖下载
|
||||
- **私有仓库**: 存储私有构件
|
||||
- **版本管理**: 管理发布版本和快照版本
|
||||
- **安全扫描**: 扫描依赖漏洞
|
||||
|
||||
## 最佳实践
|
||||
|
||||
1. **定期清理**: 清理不需要的快照版本
|
||||
2. **备份数据**: 定期备份仓库数据
|
||||
3. **访问控制**: 配置适当的用户权限
|
||||
4. **监控告警**: 监控仓库使用情况
|
||||
|
||||
## 相关链接
|
||||
|
||||
- [Nexus 官方文档](https://help.sonatype.com/repomanager3)
|
||||
|
||||
Reference in New Issue
Block a user