近期文章
Project Harbor 在盐湖城 KubeCon NA 2024 上大放异彩,但伦敦呢?
Harbor v2.11 版本发布 - SBOMs 版本
Bonjour Harbor KubeCon + CloudNativeCon Europe 2024 - 巴黎
Harbor v2.10 版本发布
Harbor 101 贡献指南
如何参与 Harbor 项目
2018 年 10 月 4 日
Harbor 维护者
自从 Harbor 捐赠给云原生计算基金会 (Cloud Native Computing Foundation) 以来,社区参与度不断提高,我们对此感到非常高兴。大家对该项目表现出浓厚的兴趣,在我们的 Slack 频道和 GitHub 上也持续保持活跃。
这篇博文是为那些有兴趣为 CNCF 项目做贡献,但可能不熟悉各个步骤的人准备的。我们是一群友好的开发者,我们在 Harbor 上的工作中,最棒的部分就是与社区互动!
最初,为开源项目做贡献可能看起来令人生畏。如果您觉得有“更有资格”的人可以参与并提供帮助,我们都经历过这种感觉。我们都从某个地方开始,而开源——包括尤其是 Harbor——的伟大之处在于这是一个没有评判的社区。我们欢迎各种经验和背景的贡献者,从渴望使我们的文档更清晰的口才出众的作者,到擅长发现最隐蔽的角落案例的 bug 猎手,再到数十年来一直在编写代码的资深开发者——我们感谢所有的贡献。
贡献开源项目是一个广泛的主题,特别是像 Harbor 这样有很多活动部件的项目。这将是(希望是)一系列文章中的第一篇,我们将在其中讨论如何深入项目并提供帮助。我将努力做到既简洁又实用——请随时 fork 该仓库并跟随这篇博文一起操作。
唯一可能对您有所帮助的是一些 Git 经验。幸运的是,有一些非常棒的资源可供学习不同程度的 Git。GitHub 也有一些很好的文档,描述了贡献过程中涉及的各个步骤,我将在适当的时候链接到这些文档。由于 Harbor 托管在 GitHub 上,因此理解 GitHub flow 将使我们处理第一个贡献时更加简单。阅读这份快速教程,并确保在继续前进之前掌握基本概念。如果您有任何问题,请在 Slack 上 ping 我们。:)
让我们从对 Harbor 的任何贡献的第一步开始:fork 仓库。GitHub 有一个很棒的页面,描述了如何以及为什么我们要 fork,正如该页面所述,这是第一步,无论是贡献文档、测试还是代码。
恭喜 – 您已经完成一半了!
现在到了有趣的部分:找到需要改进的地方。一个好的起点是文档。
文档是开始做出贡献的最简单的地方,仅仅是因为更新文档所涉及的认知负担最小。总有改进文档的空间:清理死链接、修复错别字、澄清内容和说明,以及创建新的文档,使 Harbor 平台的用户更清楚地了解内容。
正如 GitHub flow 教程和 开源指南中所讨论的那样,创建分支是流程的第一步。分支被用作“沙箱”,您提出的更改位于其中。通常,创建一个分支就像这样简单
$ git checkout -b doc-improvements
之前引用的 GitHub 文档描述了所涉及的各个步骤,但为了完整性,我们在此处讨论一下
至关重要的是,确保您仍然在正确的分支中
$ git status
状态输出的第一行应显示您在您的功能分支中,在我们的例子中是 doc-improvements
。仍然跟着我吗?
启动您最喜欢的文本编辑器 – VSCode、Atom、vim、emacs,甚至是 nano(!) – 并打开您想要改进的文档文件。根据需要更新文档,保存它,然后准备将其推送到您的 Harbor fork。
从终端,git status
将显示您刚刚编辑的文件。确保看起来正确。
我还将在您已正确设置 git
的假设下操作 – 特别是 user.name
和 user.email
。如有疑问,请首先查看这份文档。这很重要,因为它确保您所做的更改正确地归属于您!
下一个(快完成了!)步骤是在您的分支中提交更改并向上游推送
$ git commit --verbose --signoff --message="Updating documentation to improve
<something>"
$ git push --set-upstream origin <my_branch_name>
push
命令将获取您的更改并将其推送到您的 Harbor 仓库 fork。现在我们准备创建 Pull Request 了。
这可能是流程中最简单的部分。访问 GitHub 上的您的 fork,地址为 https://www.github.com/您的用户名/harbor。
仓库顶部的横幅将为您提供创建 pull request的选项。
确保 “base” 分支是 goharbor
组织中的 master
。这告诉 GitHub 将您的更改(在您的分支中)与上游 Harbor 仓库进行比较。
很快我们就会查看您的 Pull Request。通常,在此过程中会有一些小的建议,以确保事情准确,但这是开源的有趣之处:协作!
Pull Request 非常像一个“实时对话”。较小的问题可能会很快被接受,而较大(可能影响更大的更改)可能会导致讨论。但是我们不会咬人,所以请不要胆怯:分享您的意见和想法,并随意(友好地)进行适当的反驳。我们也会犯错。
我将在未来的博文中继续讨论如何为 Harbor 做出贡献。贡献代码可能会更复杂,特别是如果功能很大,但我们鼓励您加入其中。您可以在 GitHub、Slack 或 harbor-users 和 harbor-dev 邮件列表中找到我们。
感谢阅读!