跳到主要内容

架构

包架构

Woodpecker 架构

系统架构

主包层次结构

含义导入
cmd/**解析命令行参数和环境变量以启动服务器/cli/代理所有其他
agent/**仅代理(远程工作器)需要的代码pipeline, shared
cli/**仅 cli 工具需要的代码pipeline, shared, woodpecker-go
server/**仅服务器需要的代码pipeline, shared
shared/**三个主要工具共享的代码(go 帮助工具)仅标准库和外部库
woodpecker-go/**服务器 REST API 的 go 客户端标准库

服务器

含义导入
server/api/**处理来自 server/router 的 Web 请求pipeline, ../badges, ../ccmenu, ../logging, ../model, ../pubsub, ../queue, ../forge, ../shared, ../store, shared, (TODO: mv server/router/middleware/session)
server/badges/**为管道生成 SVG 徽章../model
server/ccmenu/**为管道生成 XML ccmenu../model
server/grpc/**代理可以连接的 gRPC 服务器pipeline/rpc/**, ../logging, ../model, ../pubsub, ../queue, ../forge, ../pipeline, ../store
server/logging/**gRPC 服务器的日志库,用于在运行时流式传输日志标准库
server/model/**存储(数据库)和 API(JSON)的结构体标准库
server/plugins/**服务器插件../model, ../forge
server/pipeline/**编排管道pipeline, ../model, ../pubsub, ../queue, ../forge, ../store, ../plugins
server/pubsub/**服务器的 pubsub 库,用于向 WebUI 推送更改标准库
server/queue/**服务器的队列库,代理通过 gRPC 从中拉取新管道server/model
server/forge/**服务器的代码托管平台库,用于连接和处理代码托管平台特定内容shared, server/model
server/router/**处理对 REST API 的请求(和所有中间件)并提供 UI 和 WebUI 配置shared, ../api, ../model, ../forge, ../store, ../web
server/store/**处理数据库server/model
server/shared/**TODO: 移动和拆分 #974
server/web/**服务器 SPA
  • ../ = server/

代理

待完成

CLI

待完成