ClickHouse和他的朋友們(1)編譯、開發(fā)、測試_第1頁
ClickHouse和他的朋友們(1)編譯、開發(fā)、測試_第2頁
ClickHouse和他的朋友們(1)編譯、開發(fā)、測試_第3頁
ClickHouse和他的朋友們(1)編譯、開發(fā)、測試_第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、ClickHouse禾口他的朋友們(1)編譯一開發(fā)-測試-次偶然的機會,和ClickHouse團隊做了一次線下溝通,Alexey提至UCIickHouse的設(shè)計哲 學:The product must solve actual problemAnd do it better than others用工程思維解決商業(yè)問題的典范??!對用戶來說,他們關(guān)心的不是什么天花亂墜、上天入地的高科技,只是需要一個能很好解決自 己問題的方案,這在開源社區(qū)是非常難得的靠實力野蠻式生口。于是,我對這個散發(fā)著伏特加味道的利器充滿了好奇,并參與到ClickHouse的社區(qū)中一探究竟第一感覺是開放、友好、戰(zhàn)斗力強(AK4

2、7 vs CK16, ClickHouse 2016年開源)。本文先從編譯和測試人手,再到如何為社區(qū)貢獻Patch 希望對那些想?yún)⑴cCK社區(qū)的同學有 所幫助。如何本地編譯和測試ClickHouse ?源碼獲取1git clone -recursive s:/github /ClickHouse/ClickHouse12345671234567編譯準備sudo apt install build-essentialsudo apt-get install software-properties-commonsudo apt-add-repository ppa:ubuntu-toolchain-

3、r/testsudo apt-get updatesudo apt-get install gcc-9 g+-9 git python ninja-build sudo snap install cmake開始編譯1234567cd ClickHouse mkdir build cd build export CC=gcc-9 export CXX=g+-9 cmake . nin j a測試方法ClickHouse白勺7那么試在官方development/tests( s:/github /ClickHouse/ClickHouse/blob/master/docs/en /developm

4、ent/tests.md)檔里有詳細的介紹,這里列舉3個常用的測試模式:Functional Tests功能測試,主要用于ClickHouse內(nèi)部功能測試,方式:輸入一個sq仗件,輸出一個result, 類似MySQL里的mtr,測試集合( s:/github /ClickHouse/ClickHouse/tree/master/tests/queries)1cd tests2./clickhouse-test -c ./build/programs/clickhouse-clientH 00001_select_lIntegration Tests集成測試,主要用于涉及第三方服務(wù)的測試,出如

5、MySQL/Postgres/MongoDB等,以容器 化方式編排調(diào)度(pytest)運行,測試集合由于涉及模塊較多,集成測試環(huán)境的搭建有一定的難度,建議使用官方的docker鏡像。比方要跑test_mysql_protocol下的集成測試集:cd tests/integrationdocker pull yandex/clickhouse-integration-tests-runner,/runner -binary /your/ClickHouse/build/programs/clickhouse-bridge-biUnit Tests單元測試,主要用于代碼模塊的測試,測試集在各個模塊

6、的tests目錄,出如:Core/tests( s:/github /ClickHouse/ClickHouse/tree/master/src/Core/tests)如果大家想了解某個模塊是如何工作的,強烈建議去翻翻該模塊的tests目錄,it如想了解processor的工作機制,跟蹤調(diào)試Processors/tests/( s:/github /ClickHouse/ClickHouse/tree/master/src/Core /tests)即可。女口何給ClickHouse社區(qū)提Patch ?, fork首先在自己的github上fork一份ClickHouse代碼,此如 s:/git

7、hub /BohuTANG/ClickHouse, clone至II本地1git clone -recursive s:/github /BohuTANG/ClickHouse2git checkout -B mysql_replica(branch名字).創(chuàng)立新的分支git checkout -B mysql rplica (branch名字).功能開發(fā)開發(fā)者可以提交一個Draft Pull Request至U官方,github會顯示這個Pull Request處于Draft 狀態(tài),官方是無法Merge的. can be testd標簽等待Upstream打can be tested標簽,一

8、旦被標記Cl狂魔們就強勢開跑,跑一輪大概需要幾十個小時。協(xié)助開發(fā)者發(fā)現(xiàn)一些代碼Style、編譯以及測試等錯誤,這樣開發(fā)者就可以在自己的分支不停 的迭代、修正。如果只是修改typo,這個標簽Upstream通常不會添加。.開發(fā)完畢開發(fā)完成,測試OK,把Draft提升為正式Pull Request,等待Upstraem Review。, Merge到Master如果Upstream通過,你的代碼會被Merge到Master,恭喜你成為ClickHouse貢獻者.考前須知ClickHouse Upstream迭代非??欤欢ㄒ嚓P(guān)注master分支進度,盡量保持自己的分支代碼 與master同步。否那么

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論