# cloud-cli
**Repository Path**: gffgg/cloud-cli
## Basic Information
- **Project Name**: cloud-cli
- **Description**: cloud-cli只为提供分布式项目提供脚手架,提供最基本的环境。通过引入starter或注解,即可将依赖包即拉即用,尽可能减少配置文件的编写。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-12-14
- **Last Updated**: 2023-05-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: SpringCloud
## README
# Cloud-cli
## 简介
cloud-cli只为提供分布式项目提供脚手架,提供最基本的环境。通过引入starter或注解,即可将依赖包即拉即用,尽可能减少配置文件的编写。
架构:
``` lua
Cloud-cli
├── cloud-common -- 工具库及通用代码
├── cloud-common-core -- 通用代码和工具包
├── cloud-common-knife4j -- api文档生成包
├── cloud-common-modules -- 导入nacos、sentinel、openfeign
├── cloud-common-mybatis -- 数据库操作包,以及代码生成器
├── cloud-common-redis -- redis操作包,以及redisson
├── cloud-common-logs -- 收集日志,整合logstash,将日志收集到elasticsearch
├── cloud-gateway -- 网关
```
## 使用
### 一、cloud-common
1.cloud-common-core
作为项目模块公用包,只需要在每个模块的pom文件中加入即可,包括cloud-common-modules、cloud-common-knife4j
```pom
com.cli
cloud-common-core
${Cloud-cli.version}
```
2.cloud-common-redis
redis 操作包,在需要使用reids的模块的pom文件中导入包
```pom
com.cli
cloud-common-redis
${Cloud-cli.version}
```
3.cloud-common-mybatis
数据库操作包,在需要操控数据库的模块的pom文件中导入包
```pom
com.cli
cloud-common-mybatis
${Cloud-cli.version}
```
> mybatis-plus代码生成
修改 **com.mybatis.generator**
包下的MyBatisGenerator的fastCodeGenerator方法中的作者、包名、数据库用户名等信息,以及需生成代码的模块名的绝对地址,然后运行该类的方法,可以自动生成该数据库下所有表的代码,并且自动加到模块下
4.cloud-common-modules
包含nacos、sentinel、openfeign,使用只需要修改该模块配置文件——bootstrap.yml中的nacos和sentinel的地址
```pom
com.cli
cloud-common-modules
${Cloud-cli.version}
```
5.cloud-common-knife4j
knife4j api模块,与gateway整合成多模块文档
使用步骤:
* 1.导包
```pom
com.cli
cloud-common-knife4j
${Cloud-cli.version}
```
* 2.在模块配置文件中加上以下配置
```yaml
spring:
application:
name: 模块名
profiles:
active: env
#解决springboot 6.x以上不兼容swagger3
mvc:
pathmatch:
matching-strategy: ant_path_matcher
```
* 3.在启动类上加上 **@EnableKnife4jApi** 注解
* 4.在网关的路由配置中加上对应配置
```yaml
- id: 模块id
uri: lb://模块名
predicates:
- Path=/模块名/**
filters:
- RewritePath=/模块名/(?.*), /$\{segment}
```
6.cloud-common-logs
整合logstash,将日志收集到elasticsearch中,使用时只需要导包即可,搭建elk可以看下这篇博客 [点击跳转](https://blog.csdn.net/qq_57474766/article/details/127311188#4ELKes_868)
```pom
com.cli
cloud-common-logs
${Cloud-cli.version}
```
## 二、Cloud-Gateway
cloud网关模块,同时也整合了api文档,只需要其他服务模块导入了knife4j的包,并且在网关路由配置中对于的路由,就可以访问 **http://网关
的ip:网关的端口/doc.html** 可以看到所有模块的api接口文档