快速成为 k8s Member
Kubernetes 是云原生容器编排的事实标准,受到全球 developer 的追捧,如果你能拿到 Member、Reviewer、甚至 Approver 席位,公司会奖励你实质的好处,具体参见 DaoCloud 开源贡献排名。
关键是你自己在提 PR 的过程中会学到很多,而且能结交社区活跃大佬,在 slack 与几十万开发者顺畅交流,切记友好交流,文明礼貌。
作为一名 writer,可以从 SIG-Docs 入手。最近用业余时间成功合并了几条 PR,修改了近 1000 行的中文文案,如果这是代码那就 YYDS 了,哈哈。
以下从文档的本地化讲述如何成为 k8s member,为公司和开源社区做贡献,让你的名字长久驻留在这个世界舞台上。
准备工作
kubernetes 文档采用 Hugo + Netlify 编译而成,目前支持 16 种语言。社区非常活跃,相应的翻译任务也比较浩大,这些全靠社区完成,所以会有很多翻译类的任务。
所有 document、blog 的原文都是英文,如果你在阅读时发现一些明显的语法错误,就可以提出 PR,这就是 good first issue,属于文档风格问题。这种情况修改后发起 PR,会很快完成 merge 操作。
常用工具
-
安装了 Git 才能支持各种式样的 Git 命令。
-
最常用的编辑器,可以分屏编辑,英中对照,方便编写和翻译。最好安装 markdownlint 插件,检查语法问题。
Git 图形化工具
不喜欢敲 git 命令的同学,可以使用一些直观的图形化工具:
- VScode - Git Graph 插件
- GitHub for Desktop
- Source Tree
- TortoiseGit
Mermaid 绘图调试
很多 topic 里有插图,这些插图用 markdown 语法绘制而成,其中的文字是需要翻译的(这一点 DCE 5.0 文档可以借鉴)。
翻译的时候,如果不小心动了一个标记,可能会让插图生成失败,所以翻好以后,最好把 mermaid 代码段复制到这个网址,看看能不能生成图形,也方便校对文字:
Hugo - Docsy 主题
文档部分采用 Hugo 编译,所以最好在本地安装一个。这样 push 到仓库之前,可以先调试好。
成为 Reviewer 后,这一条是强制要求。
找个 tutor 或帮手
比如教你怎么用工具,怎么在提交 PR 后能够很快被 review。当然你提的 PR 也要有相当高的质量,尽量实现互惠互利。
仔细阅读一遍中文本地化样式指南。
编辑过程
这里讲述一下大致的编辑过程。
先 fork Kubernetes/website 仓库。
git clone 到本地。
去 issue 区域找到任务。
比如接到的任务是翻译这个文件:content/zh/docs/contribute/_index.md
打开 Git Bash,运行以下命令:
# 进入你 clone 的本地目录 cd /website # 比对文件变化,找出要翻译的段落 .scripts/lsync.sh content/zh/docs/contribute/_index.md
文件比对时的截图如下:
Git Bash 中的这些绿色文字带有 git diff 标记,表示新增或有变化的文字,也就是你要翻译的内容。
编辑和翻译。
在 VScode 中编辑文档,通常需要把 english 复制过来,增加
<!-- -->
注释标记,做成英中对照,方便提 PR 后 review。[!TIP|style:flat]
像上图一样做成中英对照,build 之后英文被自动隐藏。
折行问题,过长的语句需要在标点符号、中英之间敲个回车。
我喜欢的编辑界面如下图,中英对照,同步滚动查看。
GitHub 常用的 label
学会这几个 label,让你在社区混的风生水起。
# 发起 issue 寻求帮助
/needs-triage
/help wanted
/cc @windsonsea
/sig windows
/label refactor
/language zh
/kind feature
/label tide/merge-method-squash
/retitle fixed errors about xxx
/easycla
# 一条 PR 的开始
/assign
/assign cancel
/triage accepted
# 一条 PR 的结束
/lgtm
/approve
/hold
/close
k8s memership
这里简要说明 k8s 社区的各级成员。
Member
成功合并 5 个 PR 后,找 2 位举荐人(至少是 Reviewer),自己发帖申请 member 席位。
两位举荐人 +1 +1 后,等待审核通过后系统通知成为 member。
Reviewer
成为 member 后 3 个月内成功合并 20 个 PR,找 2 位举荐人(Approver),自己发帖申请 Reviewer 席位。
两位举荐人 +1 +1 后,等待审核通过后系统通知成为 reviewer。
Approver
这个就比较远了,需长期持久作战,具体请参考官方文档。
Note: GitHub 要求每个 membership 必须进行两步安全验证,参见开启两步验证。
申请成为 Member
简要说明一下申请成为 k8s-member 的步骤。
成功合并 5 条 PR 并找到两位举荐人之后,在 Kubernetes ORG 使用模板申请成为 Member。
发帖且两位举荐人 +1 之后,k8s 官方开始审核流程,大概为期两周,你会收到一封邀请邮件。
点击邮件内的邀请链接,进入 GitHub 弹出邀请界面,点选
Join Kubernetes
。然后在 Kubernetes People 页面就能找到你的 ID 了。
编辑技巧(待补充)
多阅读别人提交的 PR 会给你很多灵感。
k8s 维护的 3 个版本号:
{{< skew currentVersion >}}
{{< skew currentVersionAddMinor -1 >}}
{{< skew currentVersionAddMinor -2 >}}
更多参考
- 参阅社区大咖 Sean 编写的 k8s 贡献心得
- k8s label 大全
- k8s membership 官方说明
- PPT 讲解如何成为 k8s member