如何为 Spring Cloud Alibaba 贡献代码(How to contribute)-阿里云开发者社区

开发者社区> 阿里巴巴云原生> 正文

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

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

不只框架的 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 issuehelp 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 中。
  • 在你本机的 spring-cloud-alibaba 目录下,执行 git fetch upstream 将 remote stream fetch 到本地。
  • 在你本机的 spring-cloud-alibaba 目录下,执行 git checkout master 切换到 master 分支。
  • 在你本机的 spring-cloud-alibaba 目录下,执行 git rebase upstream/master rebase 最新代码。

配置 Spring Cloud 标准的代码格式

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

这是配置好的界面:

开发、提交、Push

开发自己的功能,开发完毕后建议使用 mvn clean install 命令确保能修改后的代码能在本地编译通过。执行该命令的同时还能以 spring 的方式自动格式化代码。然后再提交代码

merge 最新代码

  • 同样,提交 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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里巴巴云原生
使用钉钉扫一扫加入圈子
+ 订阅

关注云原生中间件、微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生技术趋势、云原生大规模的落地实践

官方博客