开发指南
概述
本章节介绍如何参与 SPIRE 的开发,包括构建、测试和贡献指南。
开发环境要求
系统要求
操作系统: Linux, macOS, Windows (WSL2)
Go: 1.21+ (查看
.go-version文件获取具体版本)Make: GNU Make
Git: 2.0+
可选工具
Docker(用于容器构建)
kubectl(用于 Kubernetes 测试)
golangci-lint(代码检查)
快速开始
# 克隆仓库
git clone https://github.com/spiffe/spire.git
cd spire
# 构建
make build
# 运行测试
make test
# 检查代码
make lint
项目结构
spire/
├── cmd/ # 命令行入口
│ ├── spire-agent/ # Agent 主程序
│ └── spire-server/ # Server 主程序
├── pkg/ # 核心包
│ ├── agent/ # Agent 实现
│ ├── server/ # Server 实现
│ └── common/ # 共享代码
├── proto/ # Protocol Buffers 定义
├── conf/ # 示例配置
├── doc/ # 文档
├── test/ # 测试工具和夹具
└── support/ # 辅助工具
开发工作流
graph LR
A[Fork 仓库] --> B[创建分支]
B --> C[开发功能]
C --> D[编写测试]
D --> E[运行测试]
E --> F[代码检查]
F --> G[提交 PR]
G --> H[代码审查]
H --> I[合并]