快速成为 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 才能支持各种式样的 Git 命令。

  • VScode

    最常用的编辑器,可以分屏编辑,英中对照,方便编写和翻译。最好安装 markdownlint 插件,检查语法问题。

  • Git 图形化工具

    不喜欢敲 git 命令的同学,可以使用一些直观的图形化工具:

    • VScode - Git Graph 插件
    • GitHub for Desktop
    • Source Tree
    • TortoiseGit
  • Mermaid 绘图调试

    很多 topic 里有插图,这些插图用 markdown 语法绘制而成,其中的文字是需要翻译的(这一点 DCE 5.0 文档可以借鉴)。

    翻译的时候,如果不小心动了一个标记,可能会让插图生成失败,所以翻好以后,最好把 mermaid 代码段复制到这个网址,看看能不能生成图形,也方便校对文字:

    https://mermaid-js.github.io/mermaid-live-editor

  • Hugo - Docsy 主题

    文档部分采用 Hugo 编译,所以最好在本地安装一个。这样 push 到仓库之前,可以先调试好。

    成为 Reviewer 后,这一条是强制要求。

找个 tutor 或帮手

比如教你怎么用工具,怎么在提交 PR 后能够很快被 review。当然你提的 PR 也要有相当高的质量,尽量实现互惠互利。

仔细阅读一遍中文本地化样式指南

编辑过程

这里讲述一下大致的编辑过程。

  1. 先 fork Kubernetes/website 仓库。

  2. git clone 到本地。

  3. 去 issue 区域找到任务。

    比如接到的任务是翻译这个文件:content/zh/docs/contribute/_index.md

  4. 打开 Git Bash,运行以下命令:

    # 进入你 clone 的本地目录
    cd /website 
    # 比对文件变化,找出要翻译的段落
    .scripts/lsync.sh content/zh/docs/contribute/_index.md
    

    文件比对时的截图如下:

    git 比对界面

    Git Bash 中的这些绿色文字带有 git diff 标记,表示新增或有变化的文字,也就是你要翻译的内容。

  5. 编辑和翻译。

    在 VScode 中编辑文档,通常需要把 english 复制过来,增加 <!-- --> 注释标记,做成英中对照,方便提 PR 后 review。

    编辑状态

    [!TIP|style:flat]

    • 像上图一样做成中英对照,build 之后英文被自动隐藏。

    • 折行问题,过长的语句需要在标点符号、中英之间敲个回车。

我喜欢的编辑界面如下图,中英对照,同步滚动查看。

k8s-docs-editing

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 的步骤。

  1. 成功合并 5 条 PR 并找到两位举荐人之后,在 Kubernetes ORG 使用模板申请成为 Member。

    发帖申请

  2. 发帖且两位举荐人 +1 之后,k8s 官方开始审核流程,大概为期两周,你会收到一封邀请邮件。

    收到邮件

  3. 点击邮件内的邀请链接,进入 GitHub 弹出邀请界面,点选 Join Kubernetes

    确认加入

  4. 然后在 Kubernetes People 页面就能找到你的 ID 了。

    进入社区

编辑技巧(待补充)

多阅读别人提交的 PR 会给你很多灵感。

k8s 维护的 3 个版本号:

{{< skew currentVersion >}}
{{< skew currentVersionAddMinor -1 >}}
{{< skew currentVersionAddMinor -2 >}}

更多参考

Copyright © daocloud.io 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-08-16 07:40:50

results matching ""

    No results matching ""