如何加入Apache开源社区:Apache ServiceComb (incubating) 微服务开源项目实例讲解
近期,熱衷開(kāi)源和微服務(wù)的伙伴們非常關(guān)注如何加入到 微服務(wù) 開(kāi)源項(xiàng)目 Apache ServiceComb (incubating) 社區(qū)。Apache ServiceComb 作為開(kāi)源的Apache軟件基金會(huì)孵化項(xiàng)目,加入方式和常規(guī)的加入開(kāi)源社區(qū)的方式大體一致,一般為三個(gè)階段:
訂閱并關(guān)注社區(qū)動(dòng)態(tài);
開(kāi)始在開(kāi)源社區(qū)提交第一份代碼;
深度加入社區(qū)討論并貢獻(xiàn)。
以下將詳細(xì)向大家講述如何一步步加入ServiceComb社區(qū)。
Step 1 訂閱并關(guān)注社區(qū)動(dòng)態(tài)
訂閱和關(guān)注社區(qū)動(dòng)態(tài)的途徑有:即時(shí)通訊工具(社區(qū)微信群、gitter)、社區(qū)公眾號(hào)、開(kāi)發(fā)者郵件列表、門(mén)戶網(wǎng)站。
設(shè)計(jì)和需求上需要討論的特性,優(yōu)先使用郵件列表進(jìn)行討論。
設(shè)計(jì)已經(jīng)足夠清晰,或?qū)τ诓糠中〉娜蝿?wù)(如代碼bug修復(fù)、文檔完善、網(wǎng)站優(yōu)化等),其本身不需要過(guò)多討論,則可在JIRA中直接新建任務(wù)進(jìn)行代碼貢獻(xiàn),參考下面Step2。
用戶業(yè)務(wù)的微服務(wù)技術(shù)選型或ServiceComb的概念性問(wèn)題等,建議直接到微信群或者gitter里進(jìn)行咨詢并尋求幫助。
其他求助性問(wèn)題,可及時(shí)聯(lián)系ServiceComb小助手。
即時(shí)通訊工具
掃描下方二維碼或搜索ServiceComb小助手加入微信群,加入后可以在微信群中咨詢和求助,會(huì)有熱心的伙伴和committer 及時(shí)的響應(yīng)回復(fù)。
也可使用Github賬號(hào)登錄gitter(地址 https://gitter.im/ServiceCombUsers/Lobby)進(jìn)行在線討論,國(guó)內(nèi)的伙伴們更習(xí)慣于使用微信群進(jìn)行在線交流,但為了更方便后來(lái)加入的人可以檢索并查閱前期的討論內(nèi)容存檔,所以ServiceComb社區(qū)推薦使用gitter,gitter聊天界面見(jiàn)下圖。
郵件列表
郵件工作方式是開(kāi)源社區(qū)極力推崇的方式,通過(guò)訂閱開(kāi)發(fā)者郵件可以及時(shí)獲取到社區(qū)開(kāi)發(fā)者的郵件討論內(nèi)容,可發(fā)起討論,也可通過(guò)回復(fù)感興趣的討論題目參與到討論中(郵件內(nèi)容均使用英文),郵件的存檔功能可以方便開(kāi)發(fā)者查閱歷史問(wèn)題的討論過(guò)程。
訂閱郵件方式:
發(fā)送任意內(nèi)容到
dev-subscribe@servicecomb.incubator.apache.org
收到來(lái)自dev-help的郵件后,再直接回復(fù)任意內(nèi)容來(lái)確認(rèn)訂閱郵件列表即可。
訂閱成功后發(fā)送郵件到
dev@servicecomb.apache.org
參與社區(qū)討論與寫(xiě)作,任何想法或建議以及技術(shù)/社區(qū)的討論咨詢都是受歡迎的。
郵件存檔內(nèi)容可通過(guò)
https://www.mail-archive.com/
搜索ServiceComb獲取。
社區(qū)公眾號(hào)
掃描下方二維碼關(guān)注公眾號(hào)或微信公眾號(hào)中搜索ServiceComb進(jìn)行關(guān)注,公眾號(hào)會(huì)定期的發(fā)布和推送ServiceComb近期相應(yīng)資訊(干貨資料、學(xué)習(xí)資源、線上活動(dòng)、線下活動(dòng)等)。
門(mén)戶網(wǎng)站
ServiceComb門(mén)戶網(wǎng)站是社區(qū)的官方入口,包括快速入門(mén)指南、用戶手冊(cè)、開(kāi)發(fā)者手冊(cè)、常見(jiàn)問(wèn)題和開(kāi)發(fā)博文等。
網(wǎng)站地址:?
http://servicecomb.incubator.apache.org/cn/
Step 2 在社區(qū)提交第一份代碼(PR)
當(dāng)關(guān)注社區(qū)并嘗試調(diào)試使用后,會(huì)發(fā)現(xiàn)一些簡(jiǎn)單的bug(如文檔或代碼格式問(wèn)題等),可以通過(guò)fix簡(jiǎn)單的bug來(lái)熟悉ServiceComb社區(qū)的開(kāi)發(fā)流程。
發(fā)現(xiàn)問(wèn)題并提交Issue
由于ServiceComb的任務(wù)管理是在Apache JIRA上進(jìn)行的,所以需要先注冊(cè)并登錄到JIRA。關(guān)于JIRA詳細(xì)使用方法請(qǐng)參考JIRA使用幫助:
http://servicecomb.incubator.apache.org/cn/developers/use-jira/
注冊(cè)并登錄到
https://issues.apache.org/jira/projects/SCB,
點(diǎn)擊左側(cè)Kanban可以看到當(dāng)前待處理、處理中和已經(jīng)完成的任務(wù)列表。
? ? ? ?
點(diǎn)擊新建創(chuàng)建新的issue或者task進(jìn)行問(wèn)題或任務(wù)跟蹤,選擇相應(yīng)的模塊并添加描述信息。
任務(wù)提交到JIRA后,需要在本地進(jìn)行代碼開(kāi)發(fā),進(jìn)行第一份代碼的提交。
提交第一份代碼(PR)
開(kāi)發(fā)者在GitHub上fork倉(cāng)庫(kù)后clone到本地進(jìn)行代碼修改,修改完成并本地測(cè)試通過(guò)后可以創(chuàng)建PR提交代碼,提交PR后系統(tǒng)會(huì)自動(dòng)運(yùn)行CI進(jìn)行代碼測(cè)試。
CI驗(yàn)證通過(guò)后會(huì)有其他開(kāi)發(fā)者或者maintainer進(jìn)行review,沒(méi)有問(wèn)題后會(huì)被approve并merge到主干分支。
具體可參考門(mén)戶網(wǎng)站上開(kāi)發(fā)者手冊(cè)中的代碼提交指南:
http://servicecomb.incubator.apache.org/cn/developers/submit-codes/
創(chuàng)建PR的時(shí)候,PR的title要以JIRA中對(duì)應(yīng)的問(wèn)題編號(hào)開(kāi)頭,如下圖中 [SCB-327],系統(tǒng)就會(huì)自動(dòng)關(guān)聯(lián)本次提交到相應(yīng)JIRA任務(wù)下,方便進(jìn)度跟蹤。
committer會(huì)對(duì)提交的代碼進(jìn)行review,如無(wú)問(wèn)題則會(huì)對(duì)PR進(jìn)行approve并merge,否則會(huì)對(duì)PR進(jìn)行comment,作者需根據(jù)comment進(jìn)行代碼修正并push更新最新代碼。
至此,您已經(jīng)熟悉了ServiceComb社區(qū)的初級(jí)的開(kāi)發(fā)流程,也是常規(guī)的社區(qū)開(kāi)發(fā)方法(不同的社區(qū)承載體會(huì)有細(xì)微差異,如kubernetes的問(wèn)題跟蹤是直接承載github的issue上)。
下一步就可以深度參與到ServiceComb的討論并進(jìn)行貢獻(xiàn)。
Step 3 深度參與到ServiceComb討論并貢獻(xiàn)
由于開(kāi)源社區(qū)強(qiáng)調(diào)開(kāi)放性,當(dāng)開(kāi)發(fā)者想在社區(qū)里做一些較大或中長(zhǎng)期特性時(shí),則需在ServiceComb社區(qū)發(fā)起特性討論。
如何發(fā)起特性討論
通過(guò)郵件發(fā)Proposal到社區(qū)進(jìn)行討論,Proposal中有貼圖或附加文檔時(shí)可先創(chuàng)建好文件鏈接,將鏈接貼到郵件里即可,創(chuàng)建文件可以有一下兩種方式:
在JIRA上創(chuàng)建一個(gè)對(duì)應(yīng)的特性任務(wù),并將Proposal文檔添加到該任務(wù)的附件中,拷貝鏈接。
通過(guò)github向servicecomb.io網(wǎng)站以blog的形式提交文件,將該blog地址拷貝到郵件中。
文檔附件可參考:
http://servicecomb.incubator.apache.org/docs/service-registry-refactor-proposal/
Proposal郵件參考:
當(dāng)在郵件中討論清楚特性設(shè)計(jì)后,就可以開(kāi)始對(duì)應(yīng)的代碼開(kāi)發(fā),或?qū)τ诓糠中〉娜蝿?wù)(如代碼bug修復(fù)、文檔完善、網(wǎng)站優(yōu)化等),其本身不需要過(guò)多討論,則可參考上一步驟 Step 2 中的開(kāi)發(fā)流程進(jìn)行代碼貢獻(xiàn)。
遇到其他本文章未解決的問(wèn)題(如用戶業(yè)務(wù)準(zhǔn)備進(jìn)行微服務(wù)技術(shù)選型或ServiceComb的概念性問(wèn)題等)時(shí),建議直接到微信群或者gitter里進(jìn)行咨詢并尋求幫助。
社區(qū)鼓勵(lì)多勞多得和技術(shù)沉淀,堅(jiān)持貢獻(xiàn)社區(qū)可以收獲來(lái)自社區(qū)的禮品激勵(lì)驚喜,堅(jiān)持長(zhǎng)期使用和參與社區(qū)項(xiàng)目的伙伴,將可能被選舉成 Apache committer 或者取得更高的榮譽(yù),希望本文能對(duì)熱衷開(kāi)源及ServiceComb社區(qū)的伙伴們有所幫助,也歡迎積極參加ServiceComb的線上及線下活動(dòng)。
溫馨提醒:ServiceComb社區(qū)committer英雄招募中
有興趣者請(qǐng)掃描添加ServiceComb小助手并留言“英雄招募”
Apache ServiceComb (incubating) 項(xiàng)目地址
https://github.com/apache/incubator-servicecomb-java-chassis
https://github.com/apache/incubator-servicecomb-service-center
https://github.com/apache/incubator-servicecomb-saga
Apache ServiceComb (incubating) 官網(wǎng)
http://servicecomb.incubator.apache.org/
總結(jié)
以上是生活随笔為你收集整理的如何加入Apache开源社区:Apache ServiceComb (incubating) 微服务开源项目实例讲解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 原码、反码与补码及其意义
- 下一篇: 4001 弟弟