# 开发指南 ```{toctree} :maxdepth: 2 building testing contributing ``` ## 概述 本章节介绍如何参与 SPIRE 的开发,包括构建、测试和贡献指南。 ## 开发环境要求 ### 系统要求 - **操作系统**: Linux, macOS, Windows (WSL2) - **Go**: 1.21+ (查看 `.go-version` 文件获取具体版本) - **Make**: GNU Make - **Git**: 2.0+ ### 可选工具 - Docker(用于容器构建) - kubectl(用于 Kubernetes 测试) - golangci-lint(代码检查) ## 快速开始 ```bash # 克隆仓库 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/ # 辅助工具 ``` ## 开发工作流 ```{mermaid} graph LR A[Fork 仓库] --> B[创建分支] B --> C[开发功能] C --> D[编写测试] D --> E[运行测试] E --> F[代码检查] F --> G[提交 PR] G --> H[代码审查] H --> I[合并] ``` ## 下一步 - {doc}`/7.development/building` - 构建 SPIRE - {doc}`/7.development/testing` - 测试指南 - {doc}`/7.development/contributing` - 贡献指南