【經(jīng)驗分享】如何構(gòu)建openGauss開發(fā)編譯提交一體化環(huán)境

前文

本文適合對openGauss源代碼有好奇心的愛好者仔蝌,那么一個友好的openGauss源代碼環(huán)境應(yīng)該是怎么樣的失驶。openGauss的開發(fā)環(huán)境是如何設(shè)置的毁兆?openGauss的編譯環(huán)境是如何構(gòu)建的佃迄?如何向openGauss提交代碼腾誉,筆者集合官方和幾位博主實踐提供友好的openGauss源代碼閱讀環(huán)境。在這個環(huán)境组砚,你可以閱讀吻商、可以開發(fā)、可以調(diào)試糟红、可以運行艾帐。你可以馬上把它提交gitee,也可以選擇向openGauss合并盆偿。

需要windows主機柒爸,linux服務(wù)器,gitee帳號各一個事扭,你需要準備以下:

  1. centos7.6作為linux服務(wù)器捎稚,即調(diào)試編譯環(huán)境,

  2. Visual Studio code 1.80安裝在windows主機上求橄,即開發(fā)閱讀環(huán)境

  3. 確認已注冊gitee帳號今野,已經(jīng)擁有g(shù)itee用戶名和gitee密碼

openGauss源代碼閱讀環(huán)境的思路如下,分為4步走罐农。
  1. 用自己帳號gitee把源碼openGauss相關(guān)的都fork到自己的倉庫下面

  2. centos7.6服務(wù)器上運行clone条霜,把自己的遠端代碼全部弄下來。centos7.6服務(wù)器安裝調(diào)試工具涵亏,驗證調(diào)試代碼可編譯可運行【此刻已經(jīng)有openGauss安裝包生成】

  3. windows主機安裝vscode,安裝 Remote -SSHRemote - Development插件宰睡。安裝后可以友好閱讀并修改遠端centos7.6的gauss內(nèi)核代碼,修改后保持同步溯乒。

  4. centos7.6服務(wù)器設(shè)置git環(huán)境夹厌,保持與自己的gitee倉庫同步,等待自己的gitee倉庫與opengauss審核 并合入。

第一步裆悄,克隆官方openGauss環(huán)境

登陸gitee矛纹,把官方openGauss的代碼fork過來, https://gitee.com/opengauss/openGauss-server

點擊fork

彈出窗口

這時可以看到自己的倉庫光稼,https://gitee.com/xxxxx/openGauss-server

第二步或南,centos7.6打造編譯開發(fā)環(huán)境

此處需要openGauss-server孩等、openGauss-OM和openGauss-5.0.0-CentOS-64bit-all.tar.gz

mkdir /tmp/omm500
cd /tmp/omm500git clone https://gitee.com/opengauss/openGauss-OM.git
git clone https://gitee.com/angryart/openGauss-server
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/binarylibs/openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz


tar -xvf openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz


注入環(huán)境變量
yum remove libaio-devel libaio -y
yum install -y git gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel libaio libaio-devel flex bison ncurese-devel glibc-devel patch rehat-lsb-core readline-devel perl gcc gcc-c++

# 配置環(huán)境變量
echo "export CODE_BASE=/tmp/omm500/openGauss-server # Path of the openGauss-server file " >> ~/.bashrc
echo "export BINARYLIBS=/tmp/omm500/openGauss-third_party_binarylibs_Centos7.6_x86_64 # Path of the binarylibs file " >> ~/.bashrc
echo "export GAUSSHOME=\$CODE_BASE/dest/ " >> ~/.bashrc
echo "export GCC_PATH=\$BINARYLIBS/buildtools/gcc7.3/ " >> ~/.bashrc
echo "export CC=\$GCC_PATH/gcc/bin/gcc " >> ~/.bashrc
echo "export CXX=\$GCC_PATH/gcc/bin/g++ " >> ~/.bashrc
echo "export LD_LIBRARY_PATH=\$GAUSSHOME/lib:\$GCC_PATH/gcc/lib64:\$GCC_PATH/isl/lib:\$GCC_PATH/mpc/lib/:\$GCC_PATH/mpfr/lib/:\$GCC_PATH/gmp/lib/:\$LD_LIBRARY_PATH " >> ~/.bashrc
echo "export PATH=\$GAUSSHOME/bin:\$GCC_PATH/gcc/bin:\$PATH " >> ~/.bashrc
echo "export PGDATA=/opt/omm500/data" >> ~/.bashrc
echo "export PGPORT=5432" >> ~/.bashrc
echo "export PGDATABASE=postgres" >> ~/.bashrc


# 加載環(huán)境變量
source ~/.bashrc

# 進入源碼目錄
cd $CODE_BASE

# 編譯server (這里就是openGauss提供的一鍵式編譯腳本)
sh build.sh -m release -3rd $BINARYLIBS -pkg

如果成功編譯好,如下界面

chmod +x build.sh
這個是opengauss安裝的工具
./build.sh -3rd $BINARYLIBS_PATH

成功后,會有兩個文件輸出

第三步采够,windows vs code安裝擴展插件連上倉庫

windows下面已經(jīng)安裝好vs code肄方,網(wǎng)上找,直接下一步下一步進行安裝蹬癌,準備安裝

選擇Remote-SSHRemote Development

依下圖123权她,對目標服務(wù)器進行連接

點擊框中搜索相關(guān)openGauss的目錄

修改源碼,openGauss的內(nèi)核代碼是gausskernel下面逝薪, src\gausskernel\storage\access\archive\archive_am.cpp隅要,增多一段 “Just for a test”

centos7.6下面查看 src\gausskernel\storage\access\archive\archive_am.cpp ,發(fā)現(xiàn)文件的確已經(jīng)發(fā)生變化

第四步董济,centos7.6服務(wù)器設(shè)置git環(huán)境

[root@server131 omm500]# git config --global user.name "xxxx" gitee帳號名稱
[root@server131 omm500]# git config --global user.email "xxx@139.com" gitee郵箱
[root@server131 omm500]# ssh-keygen -t rsa -C "xxx@139.com" gitee帳號密碼
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:RDYDta9IiPzK5eZCXu8bU0kOgQuhim9SwvSuZJmsCEI 15920142730@139.com
The key's randomart image is:
+---[RSA 2048]----+
| .. .oo* |
| .. . + + |
|.. . .. + |
|
=..... = o |
|+E+.. . S . |
|o+=... o . |
|+Oooo.+ . |
|B+++. .o |
|o.o+o.o. |
+----[SHA256]-----+
[root@server131 openGauss-server]# git clone https://gitee.com/angryart/openGauss-server
[root@server131 openGauss-server]#
git remote add upstream https://gitee.com/opengauss/openGauss-server
[root@server131 openGauss-server]# git remote set-url --push upstream no_push

提交代碼
[root@server131 openGauss-server]# git add .
[root@server131 openGauss-server]# git commit -m "message"
[root@server131 openGauss-server]# git push origin master

最后檢驗自己的倉庫步清,已經(jīng)提交成功


下面是自己的遠端倉庫與openGauss同步,需要提交pull request



這里要寫清楚改了什么虏肾,源分支是你修改的源代碼廓啊, 目標分支是 openGauss側(cè)的的,如果官方同意封豪,就會把你的代碼合并到里面去谴轮。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市撑毛,隨后出現(xiàn)的幾起案子书聚,更是在濱河造成了極大的恐慌,老刑警劉巖藻雌,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異斩个,居然都是意外死亡胯杭,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門受啥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來做个,“玉大人,你說我怎么就攤上這事滚局【优” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵藤肢,是天一觀的道長太闺。 經(jīng)常有香客問我,道長嘁圈,這世上最難降的妖魔是什么省骂? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任蟀淮,我火速辦了婚禮,結(jié)果婚禮上钞澳,老公的妹妹穿的比我還像新娘怠惶。我一直安慰自己,他們只是感情好轧粟,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布策治。 她就那樣靜靜地躺著,像睡著了一般兰吟。 火紅的嫁衣襯著肌膚如雪览妖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天揽祥,我揣著相機與錄音讽膏,去河邊找鬼。 笑死拄丰,一個胖子當著我的面吹牛府树,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播料按,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼奄侠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了载矿?” 一聲冷哼從身側(cè)響起垄潮,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎闷盔,沒想到半個月后弯洗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡逢勾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年牡整,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片溺拱。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡逃贝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出迫摔,到底是詐尸還是另有隱情沐扳,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布句占,位于F島的核電站沪摄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卓起,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一和敬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧戏阅,春花似錦昼弟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至离赫,卻和暖如春芭逝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背渊胸。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工旬盯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人翎猛。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓胖翰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親切厘。 傳聞我的和親對象是個殘疾皇子萨咳,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容