提问人:Idan 提问时间:11/16/2023 更新时间:11/16/2023 访问量:18
如何为托管的 git 服务实现预接收 git 钩子
How to implement pre-receive git hook for a hosted git services
问:
我正在寻找一种方法来为 gitlab/github 上托管的 git repo 创建钩子。
托管的 git 解决方案不支持这些服务器端钩子,我正在寻找一种方法来根据这些要求缓解它:pre-receive
- 将服务托管和管理在云中 - 而不是在本地运行我自己的 git 服务器。
- 允许用户使用 HTTPS 和 SSH 与其存储库进行交互
我想了什么,导致了死胡同。
- 运行一个精益的 git 服务器,该服务器在推送时镜像远程存储库,获取推送并运行,然后将推送传播到真正的远程。这种方法的问题在于将作者姓名保留在真实的存储库和安全绕过上(并非所有用户都可以访问所有存储库)
pre-receive
- 寻找可以做到这一点的 git 代理 - 没有找到任何东西。
- 运行代理并检查网络上的内容。这是一个公司范围的解决方案,因此在我控制根 CA 时,可以通过运行中间人来实现 HTTPS。 没有 SSH 访问的解决方案。
该解决方案旨在在整个公司范围内部署。
我知道使用带有一些全局配置的本地并将其安装在所有工作站上的可能性。试图避免这种解决方案,因为当用户有自己的预提交配置时,它会引发问题,工作站也使用各种操作系统版本(mac、linux、win)和已经安装的不同 CLI 工具/版本。pre-commit
答: 暂无答案
评论