开发指南

概述

本章节介绍如何参与 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[合并]
    

下一步