天天看点

如何为 Spring Cloud Alibaba 贡献代码(How to contribute)

不只框架的 Spring Cloud Alibaba

Spring Cloud Alibaba 从开源建设以来,受到了很多社区同学的关注。社区的每一个 issue ,每一个 PR,都是对整个项目的帮助,都在为建设更好用的 Spring Cloud 添砖加瓦。

Spring Cloud Alibaba 不仅是一个框架而已;在开发框架基础之上,我们基于

start.aliyun.com

,提供了一整套面向开发者的服务和工具:包括Java工程脚手架、沙箱场景实验室、IDE插件等。

我们真心地感谢为这个项目提出过 Issue 和 PR 的同学,特别是这些 contributor: HaojunRen、xiejiashuai、mengxiangrui007 、liaozan

我们希望有更多社区的同学加入进来,一起把项目做好。How to contribute 文档将长期在

GitHub

更新。

如何贡献

在贡献代码之前,请您稍微花一些时间了解为 spring cloud alibaba 贡献代码的流程。

贡献什么?

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

如果是一个比较复杂的修改,建议先在 Issue 中添加一个 Feature 标识,并简单描述一下设计和修改点。

从哪里入手?

如果您是初次贡献,可以先从

good first issue

help wanted

中认领一个比较简单的任务。

Fork 仓库,并将其 Clone 到本地

  • 点击 本项目 右上角的

    Fork

    图标 将 spring-cloud-incubator/spring-cloud-alibaba  fork 到自己的空间。
  • 将自己账号下的 spring-cloud-alibaba 仓库 clone 到本地,例如我的账号的

    flystar32

    ,那就是执行

    git clone https://github.com/flystar32/spring-cloud-alibaba.git

    进行 clone 操作。

配置 Github 信息

  • 在自己的机器执行

    git config  --list

    ,查看 git 的全局用户名和邮箱。
  • 检查显示的 user.name 和 user.email 是不是与自己 github 的用户名和邮箱相匹配。
  • 如果公司内部有自己的 gitlab 或者使用了其他商业化的 gitlab,则可能会出现不匹配的情况。这时候,你需要为 spring-cloud-alibaba 项目单独设置用户名和邮箱。
  • 设置用户名和邮箱的方式请参考 github 官方文档, 设置用户名 设置邮箱

merge 最新代码

fork 出来的代码后,原仓库 Master 分支可能出现了新的提交,这时候为了避免提交的 PR 和 Master 中的提交出现冲突,需要及时 merge master 分支。

  • 在你本机的 spring-cloud-alibaba 目录下,执行

    git remote add upstream https://github.com/spring-cloud-incubator/spring-cloud-alibaba

    将原始仓库地址添加到 remote stream 中。
  • git fetch upstream

    将 remote stream fetch 到本地。
  • git checkout master

    切换到 master 分支。
  • git rebase upstream/master

    rebase 最新代码。

配置 Spring Cloud 标准的代码格式

spring cloud 项目有自己独有的代码格式规范,提交代码前需要先配置好代码格式规范。

这是配置好的界面:

如何为 Spring Cloud Alibaba 贡献代码(How to contribute)

开发、提交、Push

开发自己的功能,开发完毕后建议使用

mvn clean install

命令确保能修改后的代码能在本地编译通过。执行该命令的同时还能以 spring 的方式自动格式化代码。然后再提交代码

  • 同样,提交 PR 前,需要 rebase master 分支的代码,具体操作步骤请参考之前的章节。
  • 如果出现冲突,需要先解决冲突。

提交PR

提交 PR,根据

Pull request template

写明修改点和实现的功能,等待 code review 和 合并,成为 Spring Cloud Alibaba contributor,为更好用的 Spring Cloud 做出贡献。

社区钉钉群

https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

继续阅读