欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

如何给Apache Flink贡献你的代码

  Apache Flink开源大数据处理系统最近比较火,特别是其流处理框架的设计。本文并不打算介绍Apache Flink的相关概念,如果你感兴趣可以到本博客的Flink分类目录查看Flink的相关文章。

  转入正题了,下面将一步一步教你如何提交你的代码到Flink社区。

1、提交Issue

  既然能够提交代码肯定是发现了什么Bug,或者有什么好的新功能,所以我们需要先到https://issues.apache.org/jira/browse/FLINK页面提交相关的Issue,说明这个Bug出现的现象,或者新功能的相关信息,比如我之前提交的Issue:FLINK-5058

2、Fork Apache Flink代码

  到 Flink项目的GitHub页面 的右上角点击 Fork按钮 ;然后你将可以到你的GitHub页面看到Fork好的代码,比如我Fork之后的页面地址是:https://github.com/397090770/flink

3、同步代码到本地

  在本地使用git将Fork好的代码同步到你本地的某个文件夹下:

$ git clone https://github.com/397090770/flink.git

这时候会在当前目录下产生一个名为flink的文件夹

4、添加远程库地址

使用下面地址可以添加Flink的远程库地址

git remote add upstream https://github.com/apache/flink.git

因为我们Fork代码之后,Flink的主分支的代码可能已经发生了变化,为了避免冲突,我们需要同步一下Flink代码:

git pull upstream master

现在你本地master分支的代码和Apache上Flink的master分支代码一致了。

5、创建分支

我们一般会为一个新增的功能或者bug修复新增一个新的分支(branch),可以使用下面命令创建:

git checkout -b flink-5058

6、添加自己的代码

  我们现在可以使用自己喜欢的开发工具(比如Idea、Eclipse等)添加代码,之后我们使用下面的命令提交新增的代码了,不过在我们添加代码的时候,Apache上的Flink代码可能已经发生了变更,我们需要再一次同步,因为我们上面已经在 flink-5058 分支上了,我们需要先切换到我们自己Fork的代码master分支上,然后同步Apache上的Flink主分支代码到本地master分支:

git checkout master
git pull upstream master

同步完之后,可以提交刚刚我们自己添加的代码了,如下:

git checkout flink-5058
git add flink-scala-shell
git commit -m "taskManagerMemory attribute set wrong value"
git rebase master
git push origin flink-5058

第一个是切换到 flink-5058 分支;第二个是添加我们刚刚修改代码的目录;第三个是添加注释,这个一定要写;第四个是分支的衍合(具体啥含义看这里);第五个提交代码到flink-5058 分支。

7、提交PR

  PR的全称是Pull Request。我们提交完代码到flink-5058 分支分支之后,就可以到 https://github.com/397090770/flink/pulls页面的按下 New pull request 按钮;然后按照要求填写好标题,内容,最后点击 Create pull request 按钮就可以提交你刚刚修改的代码到Flink社区。我提交的RP地址:https://github.com/apache/flink/pull/2799(写的不太好)

  注意:填写PR标题的格式是 [JIRA序号]+标题,比如我的PR标题是 [FLINK-5058]taskManagerMemory attribute set wrong valueFLINK-5058 就是第一步创建的Issue序号。这样系统可以自动将RP关联到Issue上面。

8、等待审核

  提交完PR之后,需要等待社区审核;必要时需要在提交的PR页面讨论。如果顺利的话,社区会将你的代码合并到Apache的Flink主分支。然后之前提交的Issue状态将会变成 CLOSED,并且会显示在Flink的什么版本解决。

  好了,到这里你已经学会了贡献代码的所有步骤。

本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【如何给Apache Flink贡献你的代码】(https://www.iteblog.com/archives/1885.html)
喜欢 (4)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!