TreeviewCopyright © Pengfei Ni all right reserved, powered by aleen42
Kubernetes社区贡献
Kubernetes支持以许多种方式来贡献社区,包括汇报代码缺陷、提交问题修复和功能实现、添加或修复文档、协助用户解决问题等等。
提交Pull Request到主分支
当需要修改Kubernetes代码时,可以给Kubernetes主分支提Pull Request。其git工作流:

一些加快PR合并的方法:
- 使用小的commit,将不同功能的代码分拆到不同的commit甚至是不同的PR中
- 必要的逻辑添加注释说明变更的理由
- 遵循代码约定,如Coding Conventions、API Conventions和kubectl Conventions
- 确保修改部分可以本地跑过单元测试和功能测试
- 使用Bot命令设置正确的标签或重试失败的测试
提交Pull Request到发布分支
发布分支的问题一般是首先在主分支里面修复(发送Pull Request到master并merge),然后通过cherry-pick的方式发送Pull Request到老的分支(如release-1.7等)。
对于主分支的PR,待Reviewer添加cherrypick-candidate标签后就可以开始cherry-pick到老的分支了。但首先需要安装一个Github发布的hub工具,如
# on macOS
brew install hub
# on others
go get github.com/github/hub
然后执行下面的脚本自动cherry-pick并发送PR到需要的分支,其中upstream/release-1.7是要发布的分支,而51870则是发送到主分支的PR号:
hack/cherry_pick_pull.sh upstream/release-1.7 51870
然后安装输出中的提示操作即可。如果合并过程中发生错误,需要另开一个终端手动合并冲突,并执行git add . && git am --continue,最后再回去继续,直到PR发送成功。
参考文档
如果在社区贡献中碰到问题,可以参考以下指南