flink源码构建 以及 最新贡献方法
fork clone
进入github flink 项目 flink
点击fork,将项目fork到自己的仓库中
进入你自己fork的仓库,然后将项目 clone 到本地
添加上游仓库
刚刚克隆的是你自己fork的仓库,现在需要将主仓库的地址加入进去
git remote add --master upstream https://github.com/apache/flink.git
第一次不用执行,只有等要以后要跟踪主项目的时候,更新就可以了
git pull upstream master
构建
官方说需要将近10分钟的时间
mvn clean package -DskipTests
问题
flink的源码现在不需要手动下载jar包,为了能够构建顺利,最好在自己电脑上安装python
maven里面也加入aliyun的镜像
耐心等待,肯定会构建成功的
源码的作用
1、可以在代码中直接debug,跳转等便于学习
2、为成为contributor做准备,只有熟悉了源码,才有能够贡献的基础
后面会分享源码阅读的重点和技巧,欢迎关注
提交代码和merge
如果你现在要贡献代码了,需要先在 apache jira 上注册 账号
地址 :https://issues.apache.org/jira/projects/FLINK/summary
贡献节奏建议
1、先熟悉源码
2、注册jira后,去查找社区已经提出的开放的 issue ,现在 flink社区已经改了 分配规则,不能自己分配给自己(主要防止社区有人占了茅坑不***),然后在你感兴趣的issu 下面评论
image.png
说明你感兴趣,想去解决,最好 @ 报告人
报告人如果信任你了,会分配给你,然后你就去写代码实现
3、代码实现后,按照 flink 的规范,我还是把链接 贴出来 贡献规范
4、代码实现时候,就提交到你的仓库中,提交前一定要 先从主仓库master拉代码,git pull upstream master
5、提交了就ok了?nonono ,社区用不用你的还要审核,在github申请pull request ,然后一定要把你的 jira 的链接贴在 pull request里面,具体可以参考那些大神的, 给你一个 : pull request 先慢慢模仿
6、练好英文,基本的要看懂,要会写,社区全是英文沟通
7、慢慢的就可以多提交了
社区的分级
用户 (User): 通过使用社区的项目构建自己的业务架构的开发者都是Apache的用户。
贡献者 (Contributor): 帮助解答用户的问题,贡献代码或文档,在邮件列表中参与讨论设计和方案的都是 Contributor。issue 需要申请,也不能分配issue ,pull request 也需要申请,可以理解为现在你的实力还没有得到社区的承认,你需要多贡献让社区相信你。
提交者 (Committer): 贡献多了以后,就有可能经过 PMC 的提议和投票,邀请你成为 Committer。成为 Committer 也就意味着正式加入 Apache了,不但拥有相应项目的写入权限还有 apache.org 的专属邮箱。这个时候你可以分配issue给Contributor 等等,可以处理 pull request 等等
PMC: Committer 再往上走就是 PMC,这个必须由现有 PMC 成员提名。PMC 主要负责保证开源项目的社区活动都能运转良好,包括 Roadmap 的制定,版本的发布,Committer 的提拔。
结语
好了,方向有了,多看代码多读书,早日喜提 PMC