Skip to content

Latest commit

 

History

History
152 lines (86 loc) · 8.25 KB

File metadata and controls

152 lines (86 loc) · 8.25 KB

第43节 kubernetes 的贡献学习


❤️💕💕新时代拥抱云原生,云原生具有环境统一、按需付费、即开即用、稳定性强特点。Myblog:http://nsddd.top


[TOC]

Kubernetes的共享指南

注意使用 git 过程中的一系列的问题和操作,关于我们使用 Kubernetes ,我们或许写了很多的控制器,或者是写了Kubernetes的官方文档,我们该怎么样把这个官方文档贡献到Kubernetes的社区。

⚠️ 请注意,无论是 Kubernetes 还是 CNCF(下一个标题有介绍),它们的代码和贡献都是大同小异的,我们参考 CNCF 的贡献也可,但是对于 Kubernetes 这个庞大的社区(Slack社群里面user有165k 的成员)来说,贡献者分为管理层和技术层,是互不干涉的,这也是 Kubernetes 这麽多年依旧保持 GitHub 活跃度顶级的项目。

tip⚠️:

和普通的开源项目也有区别,Kubernetes 不仅仅要求你对每一次 PR 提交 CA 证书。同时,如果不是完成一个小的漏洞或者修复,那么要求你提前给出 feature 设计, issue 的方案。

或者 Kubernetes 社区不会对你的 PR 进行审核。

官方提供了一个文档,本开发人员指南适用于希望编写直接访问Kubernetes API的代码或希望直接为Kubernetes项目做出贡献的任何人。它假定您对《用户指南》和《群集管理指南》中的概念有一定的了解。

如果这是你的第一个 PR 请求,那么会给你提醒:

It looks like this is your first time opening a pull request in this project!

Be sure to review the contributing guidelines and code of conduct.

Reporting a security vulnerability? Check out the project's security policy.

他会告诉你,请阅读第一篇共享指南~

CNCF 2023

当我回顾 2022 年时,我对我们共同克服和取得的成就深感自豪。尽管我们已经面临并将继续应对的集体挑战,但云原生生态系统已经飙升。我们欢迎新的行业、项目,并将我们的社区扩大到 710 万云原生开发人员,超过了丹麦(丹麦:WTM)的人口!

贡献者和成员的成长:

image-20230108154959742

我们可以看到,今年我们迎来了 220 多名新成员加入 CNCF。

云原生生态越来越大,越来越好;最终用户对开源的信任正在引导它向前发展!

​ ——阿帕娜·苏伯拉曼尼安

​ ——Shopify 生产工程总监

Kubernetes 的贡献手册

Kubernetes的贡献相对平常的项目有更严格的标准,他的审核也是分批流的。

贡献的方式也是多种多样:

  • 你可以发现代码的 bug 并且修改它(但其实现在 Kubernetes 的维护者非常多,bug也很难发现了)
  • 出现一些问题或者给出一些建议,请提交一个 issue
  • 你需要去完善文档,比如说 Kubernetes 的中文翻译,或者是英文文档改善和补充
  • 贡献新的内容、模块或者功能(注意,这个需要你的设计稿并且通过例会同意)

贡献

image-20230108164211805

基本知识

  • 使用 Markdown 编写 Kubernetes 文档并使用 Hugo 构建网站。

  • Kubernetes 文档使用 CommonMark 作为 Markdown 的风格。

  • 源代码位于 GitHub 仓库中。 你可以在 /content/zh-cn/docs/ 目录下找到 Kubernetes 文档。 某些参考文档是使用位于 update-imported-docs/ 目录下的脚本自动生成的。

  • 页面内容类型使用 Hugo 描述文档内容的呈现。

  • 你可以使用 Docsy 短代码定制的 Hugo 短代码贡献 Kubernetes 文档。

  • 除了标准的 Hugo 短代码外, 我们还在文档中使用一些定制的 Hugo 短代码来控制内容的呈现。

  • 文档的源代码有多种语言形式,位于 /content/ 目录下。 每种语言都有一个自己的目录,用两个字母表示,这两个字母是基于 ISO 639-1 标准来确定的。 例如,英语文档的源代码位于 /content/en/docs/ 目录下。

  • 关于为多语言文档做贡献以及如何开始新翻译的详细信息, 可参考本地化文档

开始之前

作为开源社区,很担心 contributor copy 代码引起官司,所以所有 Kubernetes 贡献者必须阅读贡献者指南签署贡献者授权同意书 (Contributor License Agreement, CLA)

若贡献者尚未签署 CLA,其发起的 PR 将无法通过自动化测试。 你所提供的姓名和邮件地址必须与 git config 中配置的完全相同, 而且你的 git 用户名和邮件地址必须与用来签署 CNCF CLA 的信息一致。

比如我的 git 分支:

root@cubmaster01:/workspces/kubernetes/docs# git config --list
user.name=Xinwei Xiong
user.email=3293172751nss@gmail.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=https://ghproxy.com/https://github.com/kubernetes/kubernetes.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
remote.upstream.url=https://github.com/cubxxw/kubernetes.git
remote.upstream.fetch=+refs/heads/*:refs/remotes/upstream/*
remote.kubernetes.url=https://github.com/kubernetes/kubernetes.git
remote.kubernetes.fetch=+refs/heads/*:refs/remotes/kubernetes/*

在发起 pr 之前,你需要选择合适的分支:

在发起 PR 时,你需要预先知道基于哪个分支来开展工作。

场景 分支
针对当前发行版本的,对现有英文内容的修改或新的英文内容 main
针对功能特性变更的内容 分支对应于功能特性变更的主要和次要版本,分支名称采用 dev-<version> 的模式。例如,如果某功能特性在 v1.27 版本发生变化,则对应的文档变化要添加到 dev-1.27 分支。
其他语言的内容(本地化) 基于本地化团队的约定。参见本地化分支策略了解更多信息。

END 链接