feat: 坐标重命名
All checks were successful
序列化结构检查 / serialization-schema-check (push) Has been skipped

This commit is contained in:
2026-07-15 11:33:24 +08:00
parent 8ef5abc262
commit fd5aab5e7f
14 changed files with 102 additions and 103 deletions

View File

@@ -1,4 +1,4 @@
# 缓存序列化结构检测 — CI 集成说明
# 序列化结构检测 — CI 集成说明
---
@@ -11,7 +11,7 @@ Gitea Actions 触发
浅克隆业务仓库 tipdepth=1+ 按需取 push 前 tipbefore
从 Nexus 下载 cache-schema-checker.jar
从 Nexus 下载 serialization-schema-checker.jar
java -jar 执行(对比 before → after累计 diff
@@ -46,7 +46,7 @@ mode=block 且含任意结构变更 → exit 1流水线失败
|----|------|
| Gitea Runner | 标签 `jdk11`,已安装 Java 11 |
| Nexus 私库 | 可访问 `http://192.168.3.25:18081/nexus/repository/maven-releases` |
| 工具 JAR | `com.codechecker:cache-schema-checker:1.0.0` 已发布 |
| 工具 JAR | `com.codechecker:serialization-schema-checker:1.0.0` 已发布 |
---
@@ -58,18 +58,18 @@ mode=block 且含任意结构变更 → exit 1流水线失败
jnpf-java-cloud/
├── .gitea/
│ ├── workflows/
│ │ └── cache-schema-check.yaml # 流水线
│ │ └── serialization-schema-check.yaml # 流水线
│ └── config/
│ └── cache-schema-check-config.yaml # 检测配置
│ └── serialization-schema-check-config.yaml # 检测配置
```
请以本仓库 `.gitea/workflows/cache-schema-check.yaml` 为模板同步到业务仓。
请以本仓库 `.gitea/workflows/serialization-schema-check.yaml` 为模板同步到业务仓。
---
## 4. 流水线模板(要点)
完整可运行版本见:`.gitea/workflows/cache-schema-check.yaml`
完整可运行版本见:`.gitea/workflows/serialization-schema-check.yaml`
核心逻辑摘要:
@@ -84,7 +84,7 @@ git fetch --depth 1 origin "$OLD_SHA" # 优先
# 或 git fetch --deepen N # 兜底
# 4) 执行
java -jar cache-schema-checker-1.0.0.jar \
java -jar serialization-schema-checker-1.0.0.jar \
--old-sha "$OLD_SHA" \
--new-sha "$NEW_SHA" \
...
@@ -98,7 +98,7 @@ java -jar cache-schema-checker-1.0.0.jar \
|--------|------|------|
| `demo.yaml` (AI代码质量分析) | AI Code Review | 并行,互不影响 |
| `code-check` (CodeChecker) | 通用变更检测 | **同模式**,可并列执行 |
| `cache-schema-check` | 缓存结构检测 | 新增 |
| `serialization-schema-check` | 缓存结构检测 | 新增 |
---
@@ -116,9 +116,9 @@ mvn clean deploy -DskipTests
发布产物:
```text
com/codechecker/cache-schema-checker/1.0.0/
├── cache-schema-checker-1.0.0.jar # 可执行 fat-jar
└── cache-schema-checker-1.0.0.pom
com/codechecker/serialization-schema-checker/1.0.0/
├── serialization-schema-checker-1.0.0.jar # 可执行 fat-jar
└── serialization-schema-checker-1.0.0.pom
```
---
@@ -157,8 +157,8 @@ com/codechecker/cache-schema-checker/1.0.0/
OLD_SHA=$(git rev-parse origin/$(git branch --show-current)~3) # 示例:假设 ahead 3
NEW_SHA=$(git rev-parse HEAD)
java -jar /path/to/cache-schema-checker-1.0.0.jar \
--config .gitea/config/cache-schema-check-config.yaml \
java -jar /path/to/serialization-schema-checker-1.0.0.jar \
--config .gitea/config/serialization-schema-check-config.yaml \
--repo-root . \
--old-sha "$OLD_SHA" \
--new-sha "$NEW_SHA" \

View File

@@ -3,7 +3,7 @@
> 版本v0.2
> 日期2026-07-15
> 状态:**方案已落地(含 Kafka开发未启动**
> 关联:复用 `cache-schema-checker` 的 Schema 提取、Diff、企微通知与 CI 框架
> 关联:复用 `serialization-schema-checker` 的 Schema 提取、Diff、企微通知与 CI 框架
> 业务样本仓:`jnpf-java-cloud`**RocketMQ + Kafka**
---
@@ -124,7 +124,7 @@ public void handleMessage(String message) {
### 3.1 产品形态
并入现有 `cache-schema-checker`(或后续更名 `serialization-schema-checker`
并入现有 `serialization-schema-checker`
- 同一 CLI / 流水线 / Schema Diff / 企微模板
- 配置增加 `mq_patterns`(含 RocketMQ + Kafka

View File

@@ -104,12 +104,12 @@
schemaCheck 仓库
├── 开发 Java 分析工具
├── mvn package 打 fat-jar
├── 发布到 Nexuscom.codechecker:cache-schema-checker:{version}
├── 发布到 Nexuscom.codechecker:serialization-schema-checker:{version}
└── 提供默认配置模板
jnpf-java-cloud 仓库
├── .gitea/workflows/cache-schema-check.yaml
├── .gitea/config/cache-schema-check-config.yaml
├── .gitea/workflows/serialization-schema-check.yaml
├── .gitea/config/serialization-schema-check-config.yaml
└── push 时下载 jar 并执行检测
```
@@ -119,11 +119,11 @@ jnpf-java-cloud 仓库
flowchart TB
subgraph Gitea["Gitea Push Pipeline"]
A[push 事件] --> B[浅克隆 old/new 提交]
B --> C[下载 cache-schema-checker.jar]
B --> C[下载 serialization-schema-checker.jar]
C --> D[java -jar 执行检测]
end
subgraph Checker["cache-schema-checker (JDK 11)"]
subgraph Checker["serialization-schema-checker (JDK 11)"]
D --> E[GitDiffScanner]
E --> F[RedisWritePointDetector]
F --> G[JavaSchemaExtractor]
@@ -196,8 +196,8 @@ schemaCheck/
│ ├── resources/fixtures/{tenant,lock,template}/
│ └── java/...
├── .gitea/
│ ├── workflows/cache-schema-check.yaml
│ └── config/cache-schema-check-config.yaml
│ ├── workflows/serialization-schema-check.yaml
│ └── config/serialization-schema-check-config.yaml
└── target/ # 构建产物
```
@@ -205,11 +205,11 @@ schemaCheck/
```xml
<groupId>com.codechecker</groupId>
<artifactId>cache-schema-checker</artifactId>
<artifactId>serialization-schema-checker</artifactId>
<version>1.0.0</version>
```
打包为 **shaded/fat jar**,主类:`com.codechecker.cache.cli.CacheSchemaCheckerMain`
打包为 **shaded/fat jar**,主类:`com.codechecker.cache.cli.SerializationSchemaCheckerMain`
---
@@ -218,8 +218,8 @@ schemaCheck/
### 6.1 CLI 参数
```bash
java -jar cache-schema-checker-1.0.0.jar \
--config .gitea/config/cache-schema-check-config.yaml \
java -jar serialization-schema-checker-1.0.0.jar \
--config .gitea/config/serialization-schema-check-config.yaml \
--repo-root /path/to/jnpf-java-cloud \
--old-sha abc123 \
--new-sha def456 \
@@ -256,7 +256,7 @@ java -jar cache-schema-checker-1.0.0.jar \
#### Step 1加载配置
读取 `cache-schema-check-config.yaml`,合并默认值(见 `docs/配置说明.md`)。
读取 `serialization-schema-check-config.yaml`,合并默认值(见 `docs/配置说明.md`)。
#### Step 2Git Diff 扫描
@@ -444,15 +444,15 @@ manual_mappings:
| 层级 | 位置 | 职责 |
|------|------|------|
| 默认配置 | 工具 jar 内 `default-config.yaml` | 检测模式、忽略规则等默认值 |
| 业务覆盖 | `jnpf-java-cloud/.gitea/config/cache-schema-check-config.yaml` | mode、notify、include_modules、manual_mappings |
| 业务覆盖 | `jnpf-java-cloud/.gitea/config/serialization-schema-check-config.yaml` | mode、notify、include_modules、manual_mappings |
合并规则:**业务配置覆盖默认配置**,未声明的项沿用默认值。
CLI 调用:
```bash
java -jar cache-schema-checker.jar \
--config .gitea/config/cache-schema-check-config.yaml \
java -jar serialization-schema-checker.jar \
--config .gitea/config/serialization-schema-check-config.yaml \
...
```
@@ -482,13 +482,13 @@ notify:
详见 `docs/CI集成说明.md`。核心流程:
```yaml
# jnpf-java-cloud/.gitea/workflows/cache-schema-check.yaml要点
# jnpf-java-cloud/.gitea/workflows/serialization-schema-check.yaml要点
# 检出:浅克隆 tipdepth 1
# 检测:--old-sha = gitea.event.before--new-sha = gitea.sha
# 按需 fetch before 提交对象,覆盖一次 push 的多 commit 累计 diff
```
完整模板见 `docs/CI集成说明.md` / `.gitea/workflows/cache-schema-check.yaml`
完整模板见 `docs/CI集成说明.md` / `.gitea/workflows/serialization-schema-check.yaml`
---
@@ -600,7 +600,7 @@ notify:
| # | 决策项 | 结论 |
|---|--------|------|
| 1 | 阻断范围 | `block` 模式下 **任意结构变更均阻断**exit 1 |
| 2 | 发布坐标 | 独立产物 `com.codechecker:cache-schema-checker:1.0.0` |
| 2 | 发布坐标 | 独立产物 `com.codechecker:serialization-schema-checker:1.0.0` |
| 3 | 配置归属 | **双层配置**jar 内 `default-config.yaml` + 业务仓覆盖合并 |
| 4 | 上线策略 | 先 `notify` ,稳定后手动切 `block` |
| 5 | 检测范围 | **仅 `src/main/java`**,不扫描测试代码 |

View File

@@ -1,8 +1,8 @@
# 缓存序列化结构检测 — 配置说明
# 序列化结构检测 — 配置说明
> **双层配置**:工具 jar 内置 `default-config.yaml`(默认) + 业务仓库 `.gitea/config/cache-schema-check-config.yaml`(覆盖)
> 工具坐标:`com.codechecker:cache-schema-checker:1.0.0`
> 主类:`com.codechecker.cache.cli.CacheSchemaCheckerMain`
> **双层配置**:工具 jar 内置 `default-config.yaml`(默认) + 业务仓库 `.gitea/config/serialization-schema-check-config.yaml`(覆盖)
> 工具坐标:`com.codechecker:serialization-schema-checker:1.0.0`
> 主类:`com.codechecker.cache.cli.SerializationSchemaCheckerMain`
---
@@ -11,7 +11,7 @@
```text
jar 内 default-config.yaml工具仓维护
↓ 深度合并
业务仓 cache-schema-check-config.yaml业务仓维护
业务仓 serialization-schema-check-config.yaml业务仓维护
最终生效配置
```
@@ -23,7 +23,7 @@ jar 内 default-config.yaml工具仓维护
### 1.1 业务仓最小配置示例
```yaml
# jnpf-java-cloud/.gitea/config/cache-schema-check-config.yaml
# jnpf-java-cloud/.gitea/config/serialization-schema-check-config.yaml
enabled: true
mode: notify
@@ -78,7 +78,7 @@ notify:
# 无变更时是否也发通知(一般 false
notify_on_clean: false
# 消息标题前缀
title_prefix: "[缓存结构变更]"
title_prefix: "[序列化结构变更]"
# 忽略规则
ignore:
@@ -182,7 +182,7 @@ mode: block
| `webhook_url` | string | `""` | 企微机器人 Webhook 完整 URL优先 |
| `webhook_env` | string | — | 兼容旧字段;值为 `http` 开头时当作 URL |
| `notify_on_clean` | boolean | false | 无变更时是否通知 |
| `title_prefix` | string | [缓存结构变更] | 消息标题前缀 |
| `title_prefix` | string | [序列化结构变更] | 消息标题前缀 |
### 3.4 ignore.key_patterns
@@ -299,7 +299,7 @@ suppressions:
### 5.3 示例(已解析 key
```markdown
## [缓存结构变更] jnpf-java-cloud
## [序列化结构变更] jnpf-java-cloud
> **分支**: code/redis_change_detection_v1.0
> **提交**: cedd161c → 67c8a6eb