backend-microservice-development
34
总安装量
34
周安装量
#6107
全站排名
安装命令
npx skills add https://github.com/tencentblueking/bk-ci --skill backend-microservice-development
Agent 安装分布
claude-code
20
gemini-cli
19
opencode
18
codex
17
cursor
16
Skill 文档
å端微æå¡å¼å
Quick Reference
æ ¸å¿æå¡ï¼process(æµæ°´çº¿) | project(项ç®) | repository(代ç åº) | auth(æé)
å屿¶æï¼api-{service}(æ¥å£) â biz-{service}(ä¸å¡+DAO) â boot-{service}(å¯å¨) â model-{service}(æ°æ®æ¨¡å)
å
å½åï¼com.tencent.devops.<module>
Resource åç¼ï¼User*(Web) | Service*(å
é¨) | Build*(Agent) | Open*(å¤é¨)
æç®ç¤ºä¾
// Resource æ¥å£å®ä¹
@Tag(name = "USER_PIPELINE", description = "ç¨æ·-æµæ°´çº¿èµæº")
@Path("/user/pipelines")
@Produces(MediaType.APPLICATION_JSON)
interface UserPipelineResource {
@GET
@Operation(summary = "è·åæµæ°´çº¿å表")
fun list(@HeaderParam(AUTH_HEADER_USER_ID) userId: String): Result<List<PipelineInfo>>
}
// Resource å®ç°ï¼æé 卿³¨å
¥ï¼
@RestResource
class UserPipelineResourceImpl @Autowired constructor(
private val pipelineService: PipelineService
) : UserPipelineResource
When to Use
- å建æ°å¾®æå¡ææ·»å æ° Resource
- ç¼å Kotlin/Java å端代ç
- 设计æå¡é´è°ç¨æ¶æ
- éè¦äºè§£é¡¹ç®åå±è§è
When NOT to Use
- å端 Vue å¼å â 使ç¨
04-frontend-vue-development - Agent Go å¼å â 使ç¨
05-go-agent-development - æ°æ®åº DDL ç¼å â 使ç¨
database-design
åå±å屿¶æ
core/{service}/
âââ api-{service}/ # APIæ¥å£å®ä¹å± - 坹夿´é²æå¡å¥çº¦
âââ biz-{service}/ # ä¸å¡é»è¾å± - å
å« ServiceãDAO
âââ boot-{service}/ # Spring Bootå¯å¨å± - ç¬ç«é¨ç½²åå
âââ model-{service}/ # æ°æ®æ¨¡åå± - JOOQ çæçæ°æ®åºè®¿é®å¯¹è±¡
16 ä¸ªæ ¸å¿å¾®æå¡
| æå¡ | èè´£ |
|---|---|
| project | 项ç®ç®¡çï¼æææ¨¡ååºç¡ä¾èµï¼ |
| process | æµæ°´çº¿ç¼æä¸è°åº¦ï¼æ ¸å¿æå¡ï¼ |
| repository | 代ç åºç®¡ç |
| artifactory | å¶ååºï¼å¯¹æ¥ COS/S3ï¼ |
| store | ç åååºï¼æä»¶ã模æ¿ï¼ |
| environment | æå»ºæº/ç¯å¢ç®¡ç |
| dispatch | æå»ºè°åº¦åå |
| auth | æé认è¯ï¼RBACï¼ |
| ticket | åè¯ç®¡ç |
| log | æå»ºæ¥å¿ |
| quality | è´¨é红线 |
| notify | éç¥æå¡ |
| openapi | å¯¹å¤ API |
| metrics | 度éæå¡ |
| websocket | WebSocket æå¡ |
| misc | æé¡¹æå¡ |
Resource å½åè§è
| åç¼ | ç¨é | è·¯å¾åç¼ | ç¤ºä¾ |
|---|---|---|---|
User*Resource |
ç¨æ· Web äº¤äº | /user/ |
UserPipelineResource |
Service*Resource |
æå¡é´å é¨è°ç¨ | /service/ |
ServiceBuildResource |
Build*Resource |
æå»ºè¿ç¨ Agent/Worker | /build/ |
BuildArtifactoryResource |
BuildAgent*Resource |
ç¬¬ä¸æ¹ Agent ä¸ç¨ | /buildAgent/ |
BuildAgentCredentialResource |
Open*Resource |
对å¤å¼æ¾ï¼OpenAPIï¼ | /open/ |
OpenPipelineTaskResource |
Op*Resource |
è¿è¥ç®¡çæ¥å£ | /op/ |
OpProjectResource |
æ³¨è§£ä½¿ç¨æ å
API å®ä¹
@RestResource // REST èµæºå®ç°ç±»
@Path("/user/artifactories")
@GET / @POST / @PUT / @DELETE
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
Swagger ææ¡£
@Tag(name = "USER_ARTIFACTORY", description = "çæ¬ä»åº-ä»åºèµæº")
@Operation(summary = "æ ¹æ®å
æ°æ®è·åæä»¶")
@Parameter(description = "ç¨æ·ID", required = true)
åæ°æ ¡éª
@BkField(minLength = 1, maxLength = 128)
@BkField(patternStyle = BkStyleEnum.CODE_STYLE)
æ¹æ³å½å约å®
| æä½ | å½ååç¼ |
|---|---|
| æ¥è¯¢ | get*, query*, list*, search* |
| å建 | create*, upload*, archive* |
| ä¿®æ¹ | update*, modify* |
| å é¤ | delete*, clear*, remove* |
强å¶è§å
- â æå¡é´éè¿ API æ¥å£éä¿¡ï¼ç¦æ¢ç´æ¥è®¿é®å ¶ä»æå¡çæ°æ®åº
- â
ä¾èµå
³ç³»å¨
build.gradle.ktsä¸æç¡®å£°æ - â ç¦æ¢å¾ªç¯ä¾èµ
- â ç¦æ¢æå SQLï¼ä½¿ç¨ JOOQ
Checklist
å¼åå端åè½å确认ï¼
- åè½å½å±å°åççç°ææå¡
- Resource å½å符ååç¼è§è
- ä½¿ç¨æé 卿³¨å ¥ä¾èµ
- è¿åå¼ä½¿ç¨
Result<T>å è£ - æ·»å Swagger æ³¨è§£çæææ¡£