OpenStack社区贡献入门

OpenStack社区贡献入门

作者:张航东

版本:无限制

本文主要用于个人学习、总结,欢迎转载,但请务必注明作者和出处,感谢!

 

前两天,自己刚刚完成了第一次OpenStack社区代码的提交,说实话,其实社区贡献还是比较方便。但是正所谓“万事开头难”,对于之前没有社区经验的同事,还是要费些周折才能迈过这个门槛。

这里我将自己的经验分享出来,希望能帮助大家快速上路。

 

总的来说,社区代码提交可以分为4个步骤:

注册社区账号

安装本地程序

配置环境

提交代码



1     注册社区账号

OpenStack社区工作中,需要用到4个网站:OpenStack官网,Launchpad(版本、bug管理)Girrit(代码reviewGitHub(代码仓库)

1.1     注册OpenStack账号

地址:https://www.openstack.org/


1.2     注册Launchpad和Girrit账号

(它们使用相同的Ubuntu账号),地址:https://launchpad.net/openstackhttps://review.openstack.org/


1.3     注册Github账号

地址:https://github.com/openstack/


2     安装本地程序

我们需要安装3个本地程序:python,gitgit-review

(这里我们以Windows操作系统为例)

2.1     安装Python

2.1.1     安装python 2.7
官网下载地址: https://www.python.org/downloads/
2.1.2     添加环境变量

安装好后,check系统环境变量,确保“path”中包含:

 …..\Python27

……\Python27\Scripts


2.2     安装Git

官网下载地址: https://git-scm.com/downloads


2.3     安装Git-review

2.3.1     安装pip

(参考:https://pip.pypa.io/en/latest/installing/#install-or-upgrade-pip

简单来说,就是先下载pip安装文件(地址:https://bootstrap.pypa.io/get-pip.py),然后安装,在命令行中执行

#python get-pip.py

2.3.2     安装git-review

在命令行中执行:

#pip install git-review



3     配置环境

3.1     Girrit网站上的配置(4项)

登录Girrit网站:https://review.openstack.org,进入个人设置,


3.1.1     设置username,建议和邮箱前缀保持一致,示例如下:


3.1.2     设置联系方式。(注意:下图红框处都要填写,否则无法提交代码)


3.1.3     生成Http密码


3.1.4     签署协议(选择ICLA)

 


3.2     本地Git的配置

打开Git命令行,进行以下配置:

3.2.1     设置用户姓名和邮箱
#git config --global user.name "Firstname Lastname"
#git config --global user.email "your_email@youremail.com"

PS:需根据个人实际信息,替换红色部分。

这两项仅用于显示,不做任何登录认证,目的是让Git知道“Who you are”,并且Git在向Girrit提交代码时,需要附上这个信息。

3.2.2     设置Girrit相关的访问许可(Https方式)

(需要本地已有下载好的项目工程)

每个项目工程都需要设置一遍,的目的是为了告诉Git,这个工程的review位置以及相应的登录认证信息。这样一来,就可以把项目工程和review流程关联起来。

进入项目工程的目录,执行:

#git remote add gerrit https://<Username>:<Password>@review.openstack.org/<umbrella repository name>/<repository name>.git

PS:需根据项目工程及个人实际信息,替换红色部分。

<umbrella repository name>和<repository name>是项目在Girrit网站上的仓库位置。

<Username>和<Password>就是我们在前面章节“3.1.3 生成Http密码”处在Girrit网站看到的信息,如下:


如果不小心设置错误,可通过以下命令移除后,再重新设置:

#git remote rm gerrit


4     提交代码

接下来,我们就结合一个实际例子“添加个人信息”,来完成第一次代码提交。

类似于novacinder项目,OpenStack有一个项目Stackalytics专门负责统计OpenStack及其相关组件的代码贡献,其中有一个文件/etc/default_data.json,保存了所有贡献者的个人信息(如ID,邮箱,公司等)。我们这里说的“添加个人信息”,就是指将我们自己的信息添加到这个文件中,并上传提交。

总的来说,我们需要做一下几件事:

下载工程

关联reviewgirrit

修改代码

上传提交

Check结果

     

4.1     下载工程

Step 1,登录Github:https://github.com/openstack/,并搜索“stackalytics”。


Step 2,点击进入搜索出来的Stackalytics工程,然后点击右侧的“Clone or download”,并复制弹出小窗口内的下载链接。


Step 3,打开Git命令行,通过“git clone”命令将Stackalytics工程下载到本地。

#git clone https://github.com/openstack/stackalytics.git


Step 4,进入到Stackalytics工程目录,然后使用“git checkout” 命令,建主干检出一个分支到本地。

#cd stackalytics
#git checkout -b local/master remotes/origin/master

PS:红色部分是我自己定义的本地分支的名字,可自行修改。


4.2     关联review(girrit)

通过上面的操作,我们已经将Stackalytics工程下载到本地。

这时,如果我们不进行其他额外配置,修改代码然后提交,那就会直接提交到仓库,这是很危险的,因为没人敢保证我们的代码是OK的。

为了保证这一点,所以增加了一个中间环节Gerrit(Review System),让我们的代码先提交到这个系统,经过社区牛人的review,以及自动化测试之后,再自己和入到仓库,有效的保证了代码和入的质量。


所以,为了让我们的代码提交到Gerrit,而不是最终的仓库,需要在Stackalytics工程目录下,执行命令(参考3.2.2章节):

#git remote add gerrit https://<Username>:<Password>@review.openstack.org/openstack/stackalytics.git

PS:需根据个人实际信息,替换红色部分。

 

4.3     修改代码

在Stackalytics工程目录下,打开 /etc/default_data.json 文件,

#vi /etc/default_data.json

PS:建议用windows编辑器打开

在对应的位置,添加自己的个人信息,如下图。


注意:在添加个人信息时,需要按照launchpad_id的字母顺序表进行添加,所以你需要找到自己对应的位置。

 

4.4     上传提交

Step 1,将文件添加到索引(没有添加到索引的文件,提交时会被忽略)

#git add etc/default_data.json

 

Step 2,提交代码到本地的分支上(注意:是本地分支,还没有提交到远端)

#git commit

 

然后,输入关于此次提交的相关描述,并保存退出,如下图:


Step 3,提交代码到远端Girrit(review后没问题后,会自动合入Github仓库)

#git review



4.5     Check结果

登录Girrit网站:https://review.openstack.org,进入”My” -> “Changes”页签,便可看到自己的这次提交,以及review进度(+1, +2, …),如下图:


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值