不隻架構的 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 到本地
- 點選 本項目 右上角的
圖示 将 spring-cloud-incubator/spring-cloud-alibaba fork 到自己的空間。Fork
- 将自己賬号下的 spring-cloud-alibaba 倉庫 clone 到本地,例如我的賬号的
,那就是執行flystar32
進行 clone 操作。git clone https://github.com/flystar32/spring-cloud-alibaba.git
配置 Github 資訊
- 在自己的機器執行
,檢視 git 的全局使用者名和郵箱。git config --list
- 檢查顯示的 user.name 和 user.email 是不是與自己 github 的使用者名和郵箱相比對。
- 如果公司内部有自己的 gitlab 或者使用了其他商業化的 gitlab,則可能會出現不比對的情況。這時候,你需要為 spring-cloud-alibaba 項目單獨設定使用者名和郵箱。
- 設定使用者名和郵箱的方式請參考 github 官方文檔, 設定使用者名 , 設定郵箱 。
merge 最新代碼
fork 出來的代碼後,原倉庫 Master 分支可能出現了新的送出,這時候為了避免送出的 PR 和 Master 中的送出出現沖突,需要及時 merge master 分支。
- 在你本機的 spring-cloud-alibaba 目錄下,執行
将原始倉庫位址添加到 remote stream 中。git remote add upstream https://github.com/spring-cloud-incubator/spring-cloud-alibaba
-
将 remote stream fetch 到本地。git fetch upstream
-
切換到 master 分支。git checkout master
-
rebase 最新代碼。git rebase upstream/master
配置 Spring Cloud 标準的代碼格式
spring cloud 項目有自己獨有的代碼格式規範,送出代碼前需要先配置好代碼格式規範。
- 點選此連結,下載下傳 spring cloud 标準的代碼格式 https://github.com/alibaba/spring-cloud-alibaba/blob/master/eclipse/eclipse-code-formatter.xml
- 點選此連結,下載下傳 spring cloud 标準的 import 代碼格式 https://github.com/alibaba/spring-cloud-alibaba/blob/master/eclipse/org.eclipse.jdt.ui.prefs
- 在 IDE 中新增代碼格式化插件,并配置好 spring cloud 的代碼格式規範。
- 注意 Eclipse 使用者可以直接使用此代碼格式檔案,IDEA 使用者請參考此 連結 先安裝插件
這是配置好的界面:

開發、送出、Push
開發自己的功能,開發完畢後建議使用
mvn clean install
指令確定能修改後的代碼能在本地編譯通過。執行該指令的同時還能以 spring 的方式自動格式化代碼。然後再送出代碼
- 同樣,送出 PR 前,需要 rebase master 分支的代碼,具體操作步驟請參考之前的章節。
- 如果出現沖突,需要先解決沖突。
送出PR
送出 PR,根據
Pull request template
寫明修改點和實作的功能,等待 code review 和 合并,成為 Spring Cloud Alibaba contributor,為更好用的 Spring Cloud 做出貢獻。