Skip to content

Commit 3241b1c

Browse files
authored
Merge pull request #51 from carrypann/develop
docs: 补全文档 #46
2 parents a4112bf + 1e1fd25 commit 3241b1c

7 files changed

Lines changed: 131 additions & 7 deletions

File tree

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@
1111
- 提供gradle快速发布插件[devops-publish-gradle-plugin](./devops-boot-project/devops-boot-tools/devops-publish-gradle-plugin/README.md)
1212
- 提供统一版本依赖管理[devops-boot-dependencies](./devops-boot-project/devops-boot-dependencies/README.md)
1313
- 提供多个开箱即用的starter组件
14-
- [logging日志组件](./devops-boot-project/devops-boot-starters/devops-boot-starter-logging/README.md)
15-
- TODO
14+
- [starter-logging](./devops-boot-project/devops-boot-starters/devops-boot-starter-logging/README.md)
15+
- [starter-api](./devops-boot-project/devops-boot-starters/devops-boot-starter-api/README.md)
16+
- [starter-web](./devops-boot-project/devops-boot-starters/devops-boot-starter-web/README.md)
17+
- [starter-service](./devops-boot-project/devops-boot-starters/devops-boot-starter-service/README.md)
18+
- TODO
1619

1720
## 快速开始
1821
- **gradle.build.kts**
@@ -59,4 +62,3 @@ devops-framework/
5962
## 发行版本
6063
- 0.0.1 2020年10月9日
6164
- 0.0.2 2020年12月22日
62-

devops-boot-project/devops-boot-core/devops-service/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ description = "DevOps Boot Service"
22

33
dependencies {
44
api(project(":devops-boot-project:devops-boot-core:devops-web"))
5-
api("org.springframework.boot:spring-boot-starter-actuator")
65
api("com.squareup.okhttp3:okhttp")
76
api("io.github.openfeign:feign-okhttp")
87
api("org.springframework.cloud:spring-cloud-starter-openfeign")

devops-boot-project/devops-boot-dependencies/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ dependencyManagement {
3131
}
3232
```
3333

34+
## 依赖版本列表
35+
请参考[build.gradle.kts](./build.gradle.kts)`constraints`列表
36+
3437
### 参考
3538
关于依赖管理的使用详情,请参考官方文档[dependency-management](https://docs.spring.io/dependency-management-plugin/docs/current/reference/html/)
3639

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# devops-boot-starter-api
2+
3+
`starter-api`组件用于帮助开发者完成api接口的编写
4+
5+
## 功能介绍
6+
- 规范统一的接口协议并定义统一的`POJO`
7+
- 自动引入`swagger`注解需要的相关jar包
8+
- 提供`HTTP`相关的常用常量和枚举类
9+
10+
## 使用方式
11+
- **build.gradle.kts**
12+
13+
```kotlin
14+
implementation("com.tencent.devops:devops-boot-starter-api")
15+
```
16+
17+
- **build.gradle**
18+
19+
```groovy
20+
implementation 'com.tencent.devops:devops-boot-starter-api'
21+
```
22+
23+
## 最佳实践
24+
25+
项目的`api`模块包含了对外接口的声明以及数据格式的定义,最终作为二方包或者三方包提供给对外使用,因此需要开发者保持`api`模块的精简和规范,否则会引诸多问题,如:
26+
1. 不规范的依赖声明方式导致版本依赖冲突
27+
2. 引入过多/多余的依赖,导致臃肿
28+
3.`api`模块中暴露敏感信息,如`DO`
29+
30+
`starter-api`组件秉承这一理念,帮助开发者最大化精简和规范`api`模块的开发,但开发者仍然需要注意以下事项:
31+
1. `api`模块慎重引入依赖,如需引入请考楼`implementation``comipleOnly`方式
32+
2. 对于`@RequestMapping``@FeignClient`注解的依赖,使用`comipleOnly`的方式依赖
33+
```kotlin
34+
compileOnly("org.springframework.cloud:spring-cloud-openfeign-core")
35+
```
36+
3. `api`模块保持简洁,只包含和接口声明和数据格式的定义

devops-boot-project/devops-boot-starters/devops-boot-starter-logging/README.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
# devops-boot-starter-logging
22

3-
logging组件帮助开发者完成日志的快速配置,并统一日志风格
3+
logging组件帮助开发者完成日志的快速配置,并统一日志格式
44

55
## 功能介绍
66
- 基于`slf4j`+`logback`
77
- 提供`logback`基础配置文件,支持`include`方式引入
88
- `base.xml` 基础属性配置
99
- `appender.xml` `appender`配置
1010
- 配置统一的日志打印格式
11-
- 配置统一的日志输出为HI
11+
- 配置统一的日志输出位置
1212
- 配置统一的日志切割策略
13+
- 配置统一的异步日志输出
1314
- 约定统一的日志分类方式
1415
- 访问日志: {application}-access.log
1516
- 应用日志: {application}-app.log
@@ -32,4 +33,14 @@ implementation 'com.tencent.devops:devops-boot-starter-logging'
3233

3334
| 属性 | 类型 | 默认值 | 说明 |
3435
| ------------------ | ------- | ------ | ------------------ |
35-
| logging.file.path | string | ./ | 日志输出位置,默认当前目录 |
36+
| logging.file.path | string | ./ | 日志输出位置,默认当前目录 |
37+
| logging.level.\<loggerName\> | string | INFO | 调整`loggerName`日志级别, `root`代表所有logger |
38+
39+
## 说明
40+
41+
logging组件会自动根据不同的`profile`应用不同的appender配置
42+
43+
| profile | 初始日志级别 | appender |
44+
| ------------------------- | ----------- | ----------------- |
45+
| `default``local``dev` | INFO | `console``file` |
46+
| `test``prod` | INFO | `file` |
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# devops-boot-starter-service
2+
3+
`starter-service`组件帮助开发者完成与微服务相关的快速配置
4+
5+
## 功能介绍
6+
- 引入`spring-cloud-starter-openfeign`
7+
- 引入`spring-cloud-starter-consul-discovery`
8+
- 引入`spring-cloud-starter-consul-config`
9+
- 引入`spring-cloud-starter-netflix-hystrix`
10+
- 引入`okhttp`并配置feign底层使用`OkHttpClient`
11+
- 配置`hystrix``ribbon`
12+
- 引入`jackson`并完成序列化和反序列化的配置
13+
- 配置自定义`RequestMappingHandlerMapping`解决`SpringMVC`注解重复扫描问题
14+
15+
16+
## 使用方式
17+
- **build.gradle.kts**
18+
19+
```kotlin
20+
implementation("com.tencent.devops:devops-boot-starter-service")
21+
```
22+
23+
- **build.gradle**
24+
25+
```groovy
26+
implementation 'com.tencent.devops:devops-boot-starter-service'
27+
```
28+
29+
## 模块依赖
30+
`starter-serivce`添加了如下依赖,对于这些模块的依赖不需要重复声明:
31+
- `com.tencent.devops:devops-boot-starter-web`
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# devops-boot-starter-web
2+
3+
`starter-web`组件帮助开发者完成与web相关的快速配置
4+
5+
## 功能介绍
6+
- 引入`undertow`
7+
- 引入`spring-boot``actuator`组件
8+
- 引入`springfox-starter`并完成`swagger-ui`的自动化配置 **(OpenApi3.0规范)**
9+
- 引入`jackson`并完成序列化和反序列化的配置
10+
- 自定义`devops-boot`的启动banner
11+
- 提供常用的工具类和方法
12+
13+
14+
## 使用方式
15+
- **build.gradle.kts**
16+
17+
```kotlin
18+
implementation("com.tencent.devops:devops-boot-starter-web")
19+
```
20+
21+
- **build.gradle**
22+
23+
```groovy
24+
implementation 'com.tencent.devops:devops-boot-starter-web'
25+
```
26+
27+
## 模块依赖
28+
`starter-web`添加了如下依赖,对于这些模块的依赖不需要重复声明:
29+
- `com.tencent.devops:devops-boot-starter-api`
30+
- `com.tencent.devops:devops-boot-starter-logging`
31+
32+
## 配置属性
33+
34+
- swagger配置过程中会读取以下配置
35+
36+
| 属性 | 类型 | 默认值 | 说明 |
37+
| ------------------ | ------- | ------ | ------------------ |
38+
| spring.application.name | string | null | 应用名称,swagger会页面展示该值 |
39+
| spring.application.desc | string | null | 应用描述,swagger会页面展示该值 |
40+
| spring.application.version | string | null | 应用版本,swagger会页面展示该值 |
41+
42+
- `springfox starter`[文档地址](http://springfox.github.io/springfox/docs/current/)

0 commit comments

Comments
 (0)