openGauss源码解析(23)

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

2.4 参与openGauss社区开源项目

openGauss已经开放数据库源代码,社区官网为“http://opengauss.org”。openGauss鼓励用户进行社区贡献、合作,希望能共同构建一个能够融合多元化技术架构的企业级开源数据库社区。本节介绍如何参与openGauss社区开源项目。

2.4.1 开源社区概述

openGauss社区按照不同的SIG(Special Interest Group)来组织,以便于更好的管理和改善工作流程。SIG是开放的,欢迎任何人加入并参与贡献。每一个SIG在码云(gitee)上拥有一个或多个代码仓库。您可以在SIG对应的代码仓库上提交Issue(问题),参与Issue讨论,提交“Pull Request”(PR,拉取请求),参与代码检视等。您可以从表2-11中找到您感兴趣的SIG。

表2-11 SIG说明

SIG名称

职责范围

SQLEngine

负责openGauss社区SQL引擎的开发和维护

StorageEngine

负责openGauss社区存储引擎的开发和维护

Connectors

负责openGauss社区Connectors的开发和维护

Tools

负责openGauss社区工具的开发和维护

Docs

负责openGauss社区文档的开发和维护

Infra

负责openGauss社区基础设施的开发和维护

Security

负责openGauss社区安全的开发和维护

2.4.2 社区环境准备

用户需要完成码云账号注册、绑定主邮箱以及签署CLA(contribution license agreement,贡献许可协议)之后,才能参与社区贡献。

1. 注册码云账号

(1) 登录码云官网(https://gitee.com/),单击页面右上角的“注册”按钮注册账号。
(2) 在注册页面填写相关信息并勾选阅读和同意相关条款,完成码云注册。如图2-13所示。

图2-13 注册信息

必填信息如下。

(1) 姓名:码云账号名称。
(2) 个人空间地址:注册账号主页地址,可用作推拉代码或者登录Gitee的用户名。
(3) 手机或者邮箱:验证需要。建议使用邮箱注册,默认为主邮箱,无须执行绑定主邮箱操作。
(4) 密码:密码不少于6位。建议为字母、符号和数字的组合,以提升安全性。

2. 绑定主邮箱

(1) 在“个人主页”页面,单击“设置”按钮进入“个人信息”设置页面。如图2-14所示。

图2-14 “设置”按钮

(2) 在左侧导航栏单击“多邮箱管理”,修改或者绑定主邮箱。主邮箱默认为注册时使用的邮箱。如图2-15所示。

图2-15 多邮箱管理

3. 签署CLA贡献者协议

进入CLA签署页面(https://opengauss.org/en/cla.html),填写相关信息,完成CLA签署。如图2-16所示。

图2-16 CLA签署

2.4.3 提交issue

如果您准备向社区上报Bug或者提交需求,请在openGauss社区对应的仓库上提交Issue。 您也可以以Issue的方式为openGauss社区贡献自己的意见或建议。

(1) (1) 确认问题所属的仓库(repository)并进入。
(2) 在repository的工具栏内单击“Issue”,再单击创建“+新建Issue”按钮新建issue。如图2-17所示。

图2-17 新建issue

(3) 输入issue的标题名称并选择对应的issue类型。issue的标题名称中请简要的描述问题现象和影响。如图2-18所示。

图2-18 issue信息

(4) 在详细描述框中,请按照模板说明问题发生的细节。
(5) 填写完成后,输入验证码并单击“创建”。

Issue创建后将会有社区参与者进行解答。您也可以执行如下命令将issue分配给指定的人。

/assign 账号

2.4.4 贡献代码和文档

您可以自行修改代码和文档,并通过提交PR将修改合入主干版本。

1. 拉取个人分支

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

图2-19 docs(文档仓库)

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

图2-20 Fork个人分支

2. 修改代码和文档

目前有两种修改代码和文档的方式,Git(分布式版本管理软件)方式修改以及WEB((World Wide Web,即全球广域网,这里指的是在网页上操作)方式修改。

1) Git方式修改

Git方式修改,即在本地通过Git工具将修改一次性提交至远端个人仓库。此方法适用于大量以及批量修改,例如特性更新等场景。

(1) 安装Git。下载Git并按默认设置安装。Git下载地址:https://git-scm.com/downloads
(2) 配置Git。

➀ 配置Git上的user为您的gitee个人名称。

git config --global user.name "your gitee name"

➁ 配置Git邮箱为您的gitee注册邮箱。

git config --global user.email "your Gitee email"

your Gitee email 为gitee注册邮箱。您可以在gitee个人主页获取。

➂ 生成SSH公钥。

ssh-keygen -t rsa -C "your Gitee email"

➃ 执行如下命令获取公钥。

cat ~/.ssh/id_rsa.pub

“.ssh/id_rsa.pub”为公钥文件保存地址。“id_rsa.pub”为自定义的pub文件名称。

➄ 在个人Gitee账户中添加您的SSH公钥。如图2-21所示。

图2-21 SSH公钥三方件编译

(3) 复制远程个人仓库至本地。

➀ 在个人电脑本地创建文件夹openGauss,存放远程仓库文件。

➁ 在Git工具中执行如下命令复制远程仓库至本地。

# 进入存放个人远程仓库的本地目录openGauss

cd D:\openGauss

# 把远程仓库复制到本地

git clone https://gitee.com/"your Gitee Name"/repository_name #个人远程仓库地址

# 设置本地工作目录的upstream(上行)源

git remote add upstream https://gitee.com/opengauss/docs.git #openGauss远程地址

# 设置同步方式

git remote set-url --push upstream no_push

(4) 修改内容并将本地修改提交至远程个人仓库。

➀ (可选)如果非首次修改本地文件,建议您执行如下操作,使远程仓库与本地仓库保持一致。

在个人仓库页面,单击如下图标将主仓库的内容更新至个人远程仓库。如图2-22所示。

https://images.gitee.com/uploads/images/2020/0706/105106_ac20bf3b_7620709.png

图2-22 更新个人仓库

在本地Git工具执行如下命令,将个人远程仓库内容更新至本地仓库。

git fetch upstream

git merge upstream/master

➁ 进入本地文件夹,修改本地文件。

➂ 在文件所在目录下打开Git工具,在Git工具中执行如下命令,提交本地修改至个人远程仓库。

如果修改了多个文件夹下的文件,建议依次进入每个子文件夹下面,执行提交操作。

git add .

git commit -m "提交原因"

git push origin master

2) WEB方式修改

WEB方式修改,即直接在web网页上修改Markdown文件,适用于内容较少的修改。例如维护版本的日常问题处理。

(1) 进入个人Fork路径,单击“Web IDE(integrated development environment,集成开发环境)”。如图2-23所示。

图2-23 Web IDE

(2) 在左侧导航栏找到对应文件进行编辑。
(3) 修改完成后,单击顶部“Markdown预览”检查修改内容。
(4) 提交。先单击输入图片说明保存修改,填写修改原因后提交到当前分支。如图2-24所示。

https://images.gitee.com/uploads/images/2020/0829/164626_61c262ac_7391098.png

图2-24 提交

3. 提交PR

提交PR可以将远程个人仓库的修改合并至主干中。

(1) 进入个人Fork路径,检查修改的内容是否已合入。如图2-25所示。

图2-25 合入信息

(2) 在“Pull Requests”页面单击“+新建Pull Request”。
(3) 输入修改的详细信息,并单击“创建”。如图2-26所示。

图2-26 创建

(4)提交完成等待committer(代码提交者)审核后合入。
posted @ 2024-04-15 16:06  openGauss-bot  阅读(51)  评论(0编辑  收藏  举报