Ding!您有一份ChunJun實用指南,請查收

數棧DTinsight發表於2022-08-19

ChunJun 是易用、穩定、高效的批流一體的資料整合框架,主要應用於大資料開發平臺的資料同步 / 資料整合模組,使大資料開發人員可簡潔、快速的完成資料同步任務開發,供企業資料業務使用。

本文主要整理 ChunJun 的各類連結以及如何提交 pr、Issue 的方法,希望大家更好地參與開源,參與社群。

ChunJun 百科

● 開源地址

GitHub:

Gitee: https://gitee.com/dtstack_dev_0/chunjun

● 官方網站

● 快速入門文件

● 影片課程

Flink StreamSQL 基礎課程:

2021 年 ChunJun 課程:

2022 年 ChunJun 課程:

● 課件獲取

關注公眾號 “ChunJun”,回覆 “課件”,即可獲得您需要的對應課程的課件。

提交 pr&Issue 指南

如何提交一個優秀的 pr

在 GitHub 上提交 pr 是參與 ChunJun 專案開源的一個重要途徑,小夥伴們在使用中的一些功能上 feature 或者 bugfix 都可以向社群提交 pr 貢獻程式碼,也可以根據已有的 Issue 提供自己的解決方案。

● 第一步:fork ChunJun 到自己的 GitHub 倉庫

file 

點選 fork 後就可以在自己倉庫中看到以你名字命名的 ChunJun 專案了:

file

● 第二步:clone ChunJun 到本地 IDE

file

● 第三步:將 DTStack/ChunJun 設定為本地倉庫的遠端分支 upstream

file

● 第四步:提交程式碼

任何一個提交都要基於最新的分支 切換分支

file 

本地修改程式碼後,提交 commit

commit_message 格式: [commit_type][module] message

commit_type:

feat:表示是一個新功能(feature)

hotfix:hotfix,修補 bug

docs:改動、增加文件

opt:修改程式碼風格及 opt imports 這些,不改動原有執行的程式碼

test:增加測試

eg:[hotfix-12345][mysql] Fix mysql time type loses precision.

file 

rebase 遠端分支

這一步很重要,因為我們倉庫中的 chunjun 程式碼很有可能已經落後於社群,所以我們 push commit 前需要 rebase,保證我們的 commit 是基於社群最新的程式碼,很多小夥伴沒有這一步導致提交的 pr 當中包含了其他人的 commit

file 

rebase 後有可能出現程式碼衝突,一般是由於多人編輯同一個檔案引起的,只需要根據提示開啟衝突檔案對沖突部分進行修改,將提示的衝突檔案的衝突都解決後,執行

file 

依此往復,直至螢幕出現類似 rebase successful 字樣即可

rebase 之後程式碼可能無法正常推送,需要 git push -f 強制推送,強制推送是一個有風險的操作,操作前請仔細檢查以避免出現無關程式碼被強制覆蓋的問題

push 到 github 倉庫

file

● 第五步:提交 pr

以我修復 kafka 寫入過程中出現空指標問題為例,經過步驟四我已經把程式碼提交至我的倉庫 master 分支

file 

進入 ChunJun 倉庫頁面,點選 Pull Request

file  file 

選擇 head 倉庫和 base 倉庫以及相應的分支

file 

填寫 pr 資訊,pr 資訊應該儘量概括清楚問題的前因後果,如果存在對應 Issue 要附加 Issue 地址,保證問題是可追溯的

file  file 

pr 提交成功後需要一段時間程式碼 review,您可以耐心等待一下我們 review 後合入,或者直接聯絡我們,提交 pr 的同學更有機會加入我們共創小組。

如何正確進行 pr review

● pr review

・如果是簡單的程式碼或者文件改動,review 結束可以直接合並

・如果是較大的內容改動,需要對應模組 owner review

・如果是功能分支,需要 pr 中提供設計思路,有必要的情況下,提供設計文件

・pr 回覆時間不能超過一週

・不符合規範的 pr 在回覆提示過後仍未改動,不予合併,一週之後關閉

● review pr 的要求

・在 pr 裡備註修復的 issue

・pr commit 模版 [hotfix-#issueID][#fix-module] #fix-commit.

・修改內容儘量保持與 issue 內容一致,如果出現無關修改,在 pr 中備註出來

・review 程式碼時注意程式碼格式化

如何正確提出一個 Issue

issue 是一種非常好的可沉澱、可復現、可跟蹤的交流方式,如果您發現了 ChunJun 有任何 bug 或奇怪的效能特徵,請在 GitHub 或 Gitee 中提交新的 Issue。

目前我們團隊主要在 GitHub 上解決 Issue 和 pr 相關內容,Gitee 上會相對慢一些,大家如果有 Issue 或者 pr 儘量在 GitHub 上提出,我們會及時處理。

● 在 GitHub 上提交的新 Issue 分為以下幾種:

・反饋錯誤 (Bug Reports)

・提交新需求 (Feature Requests)

・常規問題 (General Questions)

・效能問題 (Performance Questions)

● 進行高效提問的方法

請您詳細描述存在問題 + 問題截圖,提交到 ChunJun 的 Issue,以便我們迅速定位問題並作出回應。

Issue 地址:

不瞭解如何高效進行提問的同學,請閱讀下面兩篇文章:

《提問的智慧》:

《社群提問指南》:

● 提交 Issue 需要注意的地方

提交的 Issue 最好帶上詳細的復現問題的步驟,這樣可以減少其他同步復現問題的時間,更快更有效地解決問題。

如果能定位到原始碼的問題,建議提交一個 pr 來修復它,而不是等待其他同學。

社群 交流技巧

除了 GitHub 和 Gitee 之外,我們還有一個擁有 3000 多人的開源框架技術交流群,在群內,大家可以盡情交流 ChunJun 相關技術和資訊,各位開發者們互幫互助,一串程式碼、一個建議,都是對 ChunJun 的莫大幫助。

開源框架交流釘釘群號碼:30537511

file

對於社群,我們希望它能夠成為一個所有對開源、對 ChunJun 有興趣的朋友的交流場所,而不是一個單純的答疑群。在群裡,不論是 ChunJun 團隊成員還是你們,所有人的角色都是 ChunJun 的愛好者和共建者,而不是 “客服”“機器人” 這樣的角色。

當您對於 ChunJun 有疑問時,我們首先推薦您搜尋相關文件,如果不能得到答案,強烈建議您透過提交 Issue 和我們進行溝通,最後才是在社群內提問。因為透過提交 Issue 的方式,問題可以得到沉澱,社群內訊息重新整理得很快,一個不小心,您的問題就石沉大海了。

我們團隊成員平時還有自己的工作,沒辦法守在電腦前一個個回覆社群中的問題,所以勇敢地提出 Issue 吧,那一刻,你就已經變成了開源專案的參與者!

ChunJun 團隊也將根據大家的反饋,定期更新迭代官方文件,不斷完善專案質量,和你們一起共建 ChunJun。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69995740/viewspace-2911175/,如需轉載,請註明出處,否則將追究法律責任。

相關文章