utility-components
SKILL.md
工具组件指南
Skill 概述
本 Skill 涵盖了 BK-CI 中常用的 4 类工具组件,这些是特定功能的工具类和组件实现。
核心主题
| 主题 | 说明 | 文档 |
|---|---|---|
| JWT 安全认证 | JWT 生成验证、Token 刷新、OAuth2 | 1-jwt-security.md |
| 表达式解析器 | 变量表达式、条件求值、自定义函数 | 2-expression-parser.md |
| 线程池循环工具 | 线程池配置、批量处理、循环工具类 | 3-thread-pool-loop-util.md |
| 责任链模式 | 责任链设计、拦截器链、请求处理链 | 4-chain-responsibility.md |
⚠️ 与 common-technical-practices 的区别
定位对比
| Skill | 定位 | 关注点 | 典型场景 |
|---|---|---|---|
| common-technical-practices | 框架级实践 | 如何在 Spring Boot 中使用技术 | AOP 切面、分布式锁、重试机制、参数校验、性能监控、定时任务、审计日志 |
| utility-components (本 Skill) | 工具级组件 | 如何使用特定的工具类和组件 | JWT 认证、表达式解析、线程池使用、责任链实现 |
使用选择
需要实现横切关注点(AOP、锁、重试、监控)
→ 使用 common-technical-practices
需要使用特定工具类(JWT、表达式、线程池、责任链)
→ 使用 utility-components (本 Skill)
示例对比:
- 需要 添加性能监控切面 →
common-technical-practices(reference/5-performance-monitoring.md) - 需要 使用线程池批量处理 →
utility-components(reference/3-thread-pool-loop-util.md) - 需要 实现分布式锁 →
common-technical-practices(reference/2-distributed-lock.md) - 需要 实现 JWT 认证 →
utility-components(reference/1-jwt-security.md)
工具组件架构
组件分层视图
┌─────────────────────────────────────────────────────────────┐
│ BK-CI 业务逻辑层 │
│ (Process/Project/Store/Auth/Repository...) │
└─────────────────────────────────────────────────────────────┘
↓
┌──────────────────┼──────────────────┐
│ │ │
┌────▼────┐ ┌────▼────┐ ┌────▼────┐
│ JWT │ │ 表达式 │ │ 线程池 │
│ 认证 │ │ 解析 │ │ 工具 │
└─────────┘ └─────────┘ └─────────┘
│ │ │
└──────────────────┼──────────────────┘
↓
┌────────────────┐
│ 责任链模式 │
│ (拦截器链) │
└────────────────┘
一、JWT 安全认证
详见 reference/1-jwt-security.md
核心功能
- JWT Token 生成与验证
- Token 刷新机制
- 权限校验拦截器
- OAuth2 集成
快速开始
// 生成 JWT Token
val token = JwtManager.generateToken(userId, expireTime)
// 验证 Token
val claims = JwtManager.verifyToken(token)
二、表达式解析器
详见 reference/2-expression-parser.md
核心功能
- 变量表达式解析 (
${variable}) - 条件表达式求值
- 自定义函数扩展
- 表达式缓存优化
快速开始
// 解析变量表达式
val context = mapOf("buildId" to "b-123", "status" to "success")
val result = ExpressionParser.parse("${buildId}_${status}", context)
// 结果: "b-123_success"
三、线程池与循环工具
详见 reference/3-thread-pool-loop-util.md
核心功能
- 线程池配置与管理
- 批量任务并发处理
- 循环工具类 (
LoopUtil) - 并发控制与优化
快速开始
// 批量并发处理
val results = ThreadPoolUtil.executeBatch(taskList) { task ->
processTask(task)
}
// 循环重试
LoopUtil.loopWithRetry(maxRetries = 3) {
callExternalApi()
}
四、责任链模式
详见 reference/4-chain-responsibility.md
核心功能
- 责任链设计与实现
- 拦截器链模式
- 流水线插件链
- 请求处理链
快速开始
// 定义拦截器链
val chain = InterceptorChain()
.addInterceptor(AuthInterceptor())
.addInterceptor(ValidationInterceptor())
.addInterceptor(LoggingInterceptor())
// 执行链
chain.proceed(request)
使用场景决策树
用户需求
↓
是横切关注点(AOP/锁/重试/监控)?
├─ 是 → 使用 common-technical-practices
└─ 否 → 是否需要特定工具类?
├─ JWT 认证 → utility-components (reference/1)
├─ 表达式解析 → utility-components (reference/2)
├─ 线程池处理 → utility-components (reference/3)
├─ 责任链模式 → utility-components (reference/4)
└─ 其他 → 查找对应模块 Skill
相关 Skill
- common-technical-practices - 通用技术实践(框架级)
- design-patterns - 设计模式指南
- backend-microservice-development - 后端微服务开发
Quick Reference
| 需求 | 使用 Skill | 参考章节 |
|---|---|---|
| 实现 JWT 认证 | utility-components | reference/1-jwt-security.md |
| 解析流水线变量 | utility-components | reference/2-expression-parser.md |
| 批量并发处理 | utility-components | reference/3-thread-pool-loop-util.md |
| 实现拦截器链 | utility-components | reference/4-chain-responsibility.md |
| 添加 AOP 切面 | common-technical-practices | reference/1-aop-aspect.md |
| 实现分布式锁 | common-technical-practices | reference/2-distributed-lock.md |
| 配置重试机制 | common-technical-practices | reference/3-retry-mechanism.md |
Weekly Installs
14
Repository
tencentblueking/bk-ciFirst Seen
3 days ago
Installed on
claude-code9
gemini-cli8
windsurf7
opencode7
antigravity7
trae6