允许更广泛地发现私有 GitHub 存储库的好方法是什么?
What is a good way to allow the wider discoverability of private GitHub repositories?
如果您在一个组织中,可能有 GitHub 个私有存储库(即您无权访问它们),但了解它们的存在会很有用,然后您可以在适当的时候安排访问。
换句话说,我们正在尝试以一种可以导致访问的方式实现可发现性。这可以通过共享自述文件来完成(注意人们需要有一些纪律来编写合理的自述文件)。
此博客 post Solving the innersource discoverability problem 看起来像是一个潜在的解决方案,但可能需要用户有权查看门户中的所有存储库?我希望用户能够查看所有存储库的自述文件 - 如果他们没有访问权限,可以联系自述文件中列出的任何人。
我看到另一个从私人仓库制作文件 public 的选项(使用 gitexporter 创建一个 public 仓库,只有自述文件 。这使得它 public,不是我的首选,并且需要每个回购做一些工作,远非理想。虽然它没有提供整洁的门户,但它应该允许 GitHub 搜索功能按主题或关键字找到它?
提出了一个相关的、也许更简单的选项 here,其中一名学生将私人仓库中的自述文件作为 public GitHub 页面共享。同样,需要从每个 repo 做一些工作,没有整洁的门户,但可以通过 GitHub 搜索找到?虽然 public Github 页面可以设为私有,但只有具有回购访问权限的人才能看到?
所以,如果我总结基本要求:
- 所有组织存储库(public、私人或团队)都有一个自述文件,组织中的某人可以通过搜索访问该自述文件(最好不需要每个人修改他们的存储库)。
其他不错的功能:
- 所有自述文件都可以在带有搜索功能的门户中查看
- 能够将超级私有化(只有合作者可以看到自述文件 - 自述文件中的标记?),组织私有(只有组织中的人 - 默认)和 public(自述文件中的标记?)。
- 易于实施!
建议?
对我来说,这看起来像是内部存储库的用例。您可以找到有关内部存储库的更多信息 here.
您是否可以使用内部存储库在很大程度上取决于您公司的政策。
另一件需要考虑的事情是,这将公开您的整个存储库,而不仅仅是自述文件。
我认为您已经为它提供了一个合适的解决方案 here already within your question. Alternatively, you can use APIs (GET repos, ) 以获取每个存储库 README 并将其保存到基于 cron 调度程序的 database/JSON 并基于它创建一个 Web 界面数据.
但是,我将详细说明一些需要改进的地方。我看到的问题是搜索的性质。我们并不总是在寻找关键字,有时我们会尝试为我们的问题寻找潜在的模糊匹配,尤其是在拥有超过几千个存储库的大型组织的情况下。在这些情况下,搜索引擎实施将提供更好的结果。在我看来,我们应该收集 README 和 FAQ 并将它们放入 Elastic search,公开搜索 API 以供查询。自述文件和常见问题解答的集合应该是 CI/CD 管道的一部分,并且在将新版本推送到 artifactory 的同时,它还必须发布元数据。
如果您在一个组织中,可能有 GitHub 个私有存储库(即您无权访问它们),但了解它们的存在会很有用,然后您可以在适当的时候安排访问。
换句话说,我们正在尝试以一种可以导致访问的方式实现可发现性。这可以通过共享自述文件来完成(注意人们需要有一些纪律来编写合理的自述文件)。
此博客 post Solving the innersource discoverability problem 看起来像是一个潜在的解决方案,但可能需要用户有权查看门户中的所有存储库?我希望用户能够查看所有存储库的自述文件 - 如果他们没有访问权限,可以联系自述文件中列出的任何人。
我看到另一个从私人仓库制作文件 public 的选项(使用 gitexporter 创建一个 public 仓库,只有自述文件
提出了一个相关的、也许更简单的选项 here,其中一名学生将私人仓库中的自述文件作为 public GitHub 页面共享。同样,需要从每个 repo 做一些工作,没有整洁的门户,但可以通过 GitHub 搜索找到?虽然 public Github 页面可以设为私有,但只有具有回购访问权限的人才能看到?
所以,如果我总结基本要求:
- 所有组织存储库(public、私人或团队)都有一个自述文件,组织中的某人可以通过搜索访问该自述文件(最好不需要每个人修改他们的存储库)。
其他不错的功能:
- 所有自述文件都可以在带有搜索功能的门户中查看
- 能够将超级私有化(只有合作者可以看到自述文件 - 自述文件中的标记?),组织私有(只有组织中的人 - 默认)和 public(自述文件中的标记?)。
- 易于实施!
建议?
对我来说,这看起来像是内部存储库的用例。您可以找到有关内部存储库的更多信息 here.
您是否可以使用内部存储库在很大程度上取决于您公司的政策。
另一件需要考虑的事情是,这将公开您的整个存储库,而不仅仅是自述文件。
我认为您已经为它提供了一个合适的解决方案 here already within your question. Alternatively, you can use APIs (GET repos,
但是,我将详细说明一些需要改进的地方。我看到的问题是搜索的性质。我们并不总是在寻找关键字,有时我们会尝试为我们的问题寻找潜在的模糊匹配,尤其是在拥有超过几千个存储库的大型组织的情况下。在这些情况下,搜索引擎实施将提供更好的结果。在我看来,我们应该收集 README 和 FAQ 并将它们放入 Elastic search,公开搜索 API 以供查询。自述文件和常见问题解答的集合应该是 CI/CD 管道的一部分,并且在将新版本推送到 artifactory 的同时,它还必须发布元数据。