首先是各种注册
1
launchpad网站注册,这个网站是OpenStack项目管理托管网站,可以在上面提交bug/bp等,网址:https://launchpad.net/
注意:这儿记住自己的Launchpad Id(红圈圈部分),后面在OpenStack统计网站提交自己的信息时要用到。
2
github网站注册,这个网站是OpenStack代码托管网站,经gerrit评审后的代码就提交到这儿了,网址是:https://github.com/
注意:launchpad.net和github.com注册的用户名最好一致。
3
OpenStack官网注册,这个网站是OpenStack官网,在这儿注册加入OpenStack社区
网址:https://www.openstack.org
坑一:这儿注册完后要点右上角的按钮(Make me a Foundation Member),下图红圈部分,点完选同意,成为基金会个人会员。这个坑后面会提到。
坑二:记住这儿注册的地址信息,一会要用到。
信息上传及更新
使用launchpad账号登录OpenStack gerrit网站进行信息更新。
OpenStack gerrit网站主要是OpenStack项目代码评审网站,网址是:https://review.openstack.org/
在这儿需要修改的信息如下图所示:
左上角点用户名—>Settings
进入个人信息页面
1
Contact information
红色圈中填写的内容见坑2
坑三:点击Save Changes跳出报错 Cannot store contact information,如下图
解决方法见坑一,先加入OpenStack基金会成为个人会员
2
SSH Public Keys
添加准备上传代码到OpenStack社区的那台节点的ssh key
生成key的步骤
$ ssh-keygen -t rsa -C yan.wei7@zte.com.cn
$ clip < ~/.ssh/id_rsa.pub
3
HTTP Password
配置HTTP密码,主要用于翻墙
4
Agreements
签署ICLA,按提示一路走下去
提交代码
OpenStack社区专门有个项目给大家练习提交代码的,叫SandBox,具体可参考
https://docs.openstack.org/infra/manual/sandbox.html#sandbox
这里以提交个人和组织信息到OpenStack贡献统计项目stackalytics为例来说明代码提交流程(提交这个信息主要是为了让stackalytics.com网站能更精确的统计到这个统计归属于哪个公司)。
1
安装git和git-review
$ pip install git
$ pip install git-review
2
本地git环境配置
$ git config --global user.name "vxlinux"
$ git config --global user.email yan.wei7@zte.com.cn
$ git config --global gitreview.username "vxlinux"
坑四:user.name和gitreview.username需和下图中的红圈部分配置一样
因为国内会对29418的port屏蔽,所以我们不使用ssh上传代码,使用https的方式
$ git config --global gitreview.scheme https
$ git config --global gitreview.port 443
注意:下面这几句斜体部分配置是可选的,如果你们公司上外网需要代理,那么需配上
$ git config --global http.proxy https://proxynj.zte.com.cn:80
$ git config --global https.proxy https://proxynj.zte.com.cn:80
$ git config --global gitreview.username [yourgerritusername]
$ export http_proxy='https://proxynj.zte.com.cn:80'
$ export https_proxy='https://proxynj.zte.com.cn:80'
$ export ftp_proxy='https://proxynj.zte.com.cn:80'
$ export no_proxy='.zte.com.cn'
3
下载代码
$ git clone https://github.com/stackforge/stackalytics.git
$ cd stackalytics/
列出远端url
$ git remote –v
origin https://github.com/stackforge/stackalytics.git (fetch)
origin https://github.com/stackforge/stackalytics.git (push)
4
创建branch
git remote update
git checkout master
git pull --ff-only origin master
git checkout -b AddContributor
5
检测是否可以提交代码
$ git review -s
啥打印都没有就表示跟review对上了-----这步很重要
提示输入密码的话,密码用下面这个
正常情况下应该在本地增加两条remote url(如下斜体部分所示)
$ git remote –v
gerrit https://vxlinux@review.openstack.org/openstack/stackalytics.git (fetch)
gerrit https://vxlinux@review.openstack.org/openstack/stackalytics.git (push)
origin https://github.com/stackforge/stackalytics.git (fetch)
origin https://github.com/stackforge/stackalytics.git (push)
如果没有这两条,或者增加失败,可能需要手动增加
$ git remote rm gerrit
$ git remote add gerrit https://vxlinux@review.openstack.org/openstack/stackalytics.git
参考OpenStack开发帮助
https://docs.openstack.org/infra/manual/developers.html
命令拷贝出来是这样的
$ git remote add gerrit https://<username>@review.openstack.org/<umbrella repository name>/<repository name>.git
注意其中的:umbrella repository name和repository name需要你自己填,填啥需要去查一下,以kolla项目为例
repository name 就是 kolla
umbrella repository name 就是下图中kolla前面的openstack
6
提交代码
如果上一步有如下打印,则进入坑五。
坑五:提交代码之前需要先下载一个commit-msg
$ wget -P .git/hooks https://gerrit.wikimedia.org/r/tools/hooks/commit-msg
修改代码
本例子修改etc/default_data.json,增加个人信息,红色圈圈部分可以填launchpad id
$ git add etc/default_data.json
$ git commit -m "add my informatin to default_data.json"
提交代码到review.openstack.org
$ git review
提交成功后就可以在review.openstack.org看到自己的代码了。
补充两个命令
没有commit之前回退本地修改
$ git checkout -- etc/default_data.json
commit之后回退本地修改
$ git reset --hard HEAD^
作者简介:颜伟,软件工程师,4年云计算相关工作经验,熟悉OpenStack,对OpenStack部署有研究。
我来说两句排行榜