Sentinel 开源贡献指南

准备工作

请保证您已经阅读过并同意遵守我们的行为准则(Code of Conduct).

搭建开发环境

您需要在系统中安装好 JDK 1.8 或以上的版本,并安装好 Maven。您可能还需要一个 IDE 来进行开发。

贡献

我们随时都欢迎任何贡献,无论是简单的错别字修正,BUG 修复还是增加新功能。请踊跃提出问题或发起 PR。我们同样重视文档以及与其它开源项目的整合,欢迎在这方面做出贡献。

如果您是初次贡献,可以先从 中认领一个比较简单的任务。

GitHub 工作流

下面是开源贡献者常用的工作流(workflow):

  • 将仓库 fork 到自己的 GitHub 下
  • 创建新的分支,在新的分支上进行开发操作
  • 保持分支与远程 master 分支一致(通过 fetch 和 rebase 操作)
  • 在本地提交变更(注意 commit log 保持简练、规范)
  • 将提交 push 到 fork 的仓库下
  • 创建一个 pull request (PR)
    提交 PR 的时候请参考 PR 模板。在进行较大的变更的时候请确保 PR 有一个对应的 Issue。

在提交 PR 后,会自动为 PR 分配一个或多个 reviewer。Reviewer 会对提交的代码进行 review。

在合并 PR 的时候,把多余的提交记录都 squash 成一个。最终的提交信息需要保证简练、规范。

我们使用 以及 Pull Requests 来管理/追踪问题。

如果您想要贡献代码,您可以参考上面的 ,提交对应的 PR。若是对当前开发版本进行提交,则目标分支为 。如果您的 PR 包含非常大的变更,比如模块的重构或者添加新的组件,请务必先提出相关 issue,发起详细讨论,达成一致后再进行变更,并为其编写详细的文档来阐述其设计、解决的问题和用途。注意一个 PR 尽量不要过于大。如果的确需要有大的变更,可以将其按功能拆分成多个单独的 PR。

Code review

所有的代码都需要经过 committer 进行 review。以下是我们推荐的一些原则:

  • 可读性:代码遵循我们的开发规约,重要代码需要有详细注释和文档
  • 测试:重要的代码需要有完善的测试用例(单元测试、集成测试),对应的衡量标准是测试覆盖率

社区

如果您有任何问题与建议,请通过邮箱 sentinel@linux.alibaba.com 联系我们。

Gitter

我们的 Gitter room: .