openGauss源码解析(21)

openGauss源码解析:第2章 openGauss开发快速入门(10)

2.3 开发和编译

作为openGauss数据库开发者,在基于openGauss开源产品进行二次开发后,往往需要编译openGauss对所开发的功能的实现情况进行验证。本节向读者简要介绍openGauss的编译方法,详细的内容请参见openGauss官网(https://opengauss.org/zh/docs/1.1.0/docs/Compilationguide/Compilation.html)。

2.3.1 搭建开发环境

搭建开发环境之前需要在码云(https://gitee.com/)上完成注册Gitee账号、签署CLA协议(贡献者许可协议),详情请参见2.4.2社区环境准备

1. 在社区拉取个人分支

(1) 进入docs(文档)或者openGauss-server(代码)仓库。此处以docs仓库举例。如图2-4所示。

图2-4 docs仓库

(2) 单击右上角“Forked”按钮,Fork(复刻)个人分支。如图2-5所示。

图2-5 Fork个人分支

2. 安装并配置Git环境

(1) 安装Git环境。

下载Git客户端并按默认设置安装,Git下载地址:https://git-scm.com/download/win,根据操作系统位数(32位/64位),下载安装相应的Git(命令行工具),也可以下载TortoiseGit(可视化工具)。

(2) 配置Git环境。

➀ 全局配置Git用户名。

git config --global user.name "Your Name"

"Your Name"为Gitee账号名称。您可以在Gitee个人主页获取。

➁ 全局配置Git邮箱。

git config --global user.email "email@example.com"

邮箱为注册的Gitee的主邮箱,可通过Gitee个人设置中的“多邮箱管理”获取。

➂ 生成ssh密钥。

ssh-keygen -t rsa -C "email@example.com"

cat ~/.ssh/id_rsa.pub

登录远程仓库网站Gitee账户https://gitee.com/profile/sshkeys并添加生成的公钥。

➃ 在本地创建openGauss-server文件夹,将远程仓库克隆至本地。

cd openGauss-server

git clone https://gitee.com/Your Name/openGauss-server.git

Your Name为全局配置的Git用户名。

➄ 设置本地工作目录的upstream源。

git remote add upstream https://gitee.com/opengauss/ openGauss-server.git

➅ 设置同步方式。

git remote set-url --push upstream no_push

3. 安装开发工具

openGauss内核开发以C/C++语言为主,本节以安装VScode(visual studio code)工具为例进行介绍。

(1) 登录https://code.visualstudio.com/download下载VScode软件。如图2-6所示。请根据操作系统选择相应的版本,本节以64位Windows操作系统为例。

图2-6 VScode下载页面

(2) 单击完成下载的软件执行安装,选择“我同意此协议”后单击“下一步”,如图2-7所示。

图2-7 安装初始页面

(3) 确认安装位置后单击“下一步”,如图2-8所示。

图2-8 确认安装位置

(4) 配置环境变量。

选中“添加到PATH(重启后生效)”复选框,勾选此选项后可不再配置环境变量直接使用,如图2-9所示。

图2-9 配置环境变量

(5) 单击“完成”,结束安装,如图2-10所示。

图2-10 安装完成

(6) 安装openGauss所需的开发语言,如图2-11所示。

图2-11 安装C/C++开发语言

4. 提交代码

修改完openGauss代码后需要将修改后的代码提交至开源社区,本节介绍如何提交代码。

(1) 将所有修改的文件添加到Git的缓存区。

git add .

(2) 提交缓存区到自己的远端仓库。

git commit -m "message"

(3) 提交修改至自己的远端仓库。

git push origin master

5. 提交合并需求

通过新建Pull Request提交合并需求至openGauss社区。社区上详细操作请参见“2.4.4 贡献代码和文档”。

posted @ 2024-04-15 16:03  openGauss-bot  阅读(56)  评论(0编辑  收藏  举报