GitLab 服务器端挂钩不是 运行 - 如何转发 git-push
GitLab server-side hook not running - how to forward a git-push
最近我在我的服务器上安装了 GitLab (v8.3.3),并使用 NFS 挂载了我现有的存储库,以代替为我的 gitlab 组创建的存储库。
我想让 GitLab 在 GitLab Activity 提要中显示我当前回购的所有 activity 所以我检查了它是否工作(它不是)。
我注意到我的旧存储库(不是由 gitlab 创建的)只有 hooks 示例,所以我将它们替换为 GitLab hooks(post-接收、预接收和更新)。
现在,当我使用 GitLab 提供的路径(即 git@gitlab.my_company.com:group/repo_name.git
)克隆存储库然后推送时 - activity 通过 GitLab 可见。
另一方面,当我通过直接 link 克隆到 repo(即 ssh://<user_name>@192.168.12.34/path/to/repo_name.git
)时 - activity 不会显示在 Dashboard/Activity.
中
我的问题:
如何使 GitLab 从两个远程路径更新 Activity?
这是否与更改这些挂钩有关?
编辑:
我刚刚注意到我的 git 存储库在一台服务器上,而我的 GitLab 在另一台机器上。 Hooks 目录是 symlinked,所以在原始 git 服务器 hooks 目录是一个 link 指向任何地方。
我可以将 "git push" 从一台机器转发到 GitLab 服务器吗?
我会说你必须安装一个脚本,你会从你的 authorized_keys 文件中指向它。它必须检查传递给它的命令和 运行 与 git 用户 运行 相同的 gitlab-shell,以防它是 git 命令.
通常,您通过 ssh 的 git 命令不会 git 实验室 shell 中的 运行,而是标准的 git 命令。
理想情况下,从现在开始您只使用 GitLab 服务器来管理存储库,因为它将管理用户及其密钥。虽然您可以在您的 repo 服务器上设置一个 post-receive 挂钩,以将 redis 作业与数据一起添加(这是触发 activity 的原因,并且大部分是您在这里所缺少的)您将无法无需与 gitlab 服务器相同的 key-ids 即可轻松将正确的用户记入信用。你可以在 GitLab 中创建一个系统用户,你总是会把推送记入你的回购服务器。但这可能不太理想。
最近我在我的服务器上安装了 GitLab (v8.3.3),并使用 NFS 挂载了我现有的存储库,以代替为我的 gitlab 组创建的存储库。
我想让 GitLab 在 GitLab Activity 提要中显示我当前回购的所有 activity 所以我检查了它是否工作(它不是)。
我注意到我的旧存储库(不是由 gitlab 创建的)只有 hooks 示例,所以我将它们替换为 GitLab hooks(post-接收、预接收和更新)。
现在,当我使用 GitLab 提供的路径(即 git@gitlab.my_company.com:group/repo_name.git
)克隆存储库然后推送时 - activity 通过 GitLab 可见。
另一方面,当我通过直接 link 克隆到 repo(即 ssh://<user_name>@192.168.12.34/path/to/repo_name.git
)时 - activity 不会显示在 Dashboard/Activity.
我的问题:
如何使 GitLab 从两个远程路径更新 Activity?
这是否与更改这些挂钩有关?
编辑: 我刚刚注意到我的 git 存储库在一台服务器上,而我的 GitLab 在另一台机器上。 Hooks 目录是 symlinked,所以在原始 git 服务器 hooks 目录是一个 link 指向任何地方。
我可以将 "git push" 从一台机器转发到 GitLab 服务器吗?
我会说你必须安装一个脚本,你会从你的 authorized_keys 文件中指向它。它必须检查传递给它的命令和 运行 与 git 用户 运行 相同的 gitlab-shell,以防它是 git 命令.
通常,您通过 ssh 的 git 命令不会 git 实验室 shell 中的 运行,而是标准的 git 命令。
理想情况下,从现在开始您只使用 GitLab 服务器来管理存储库,因为它将管理用户及其密钥。虽然您可以在您的 repo 服务器上设置一个 post-receive 挂钩,以将 redis 作业与数据一起添加(这是触发 activity 的原因,并且大部分是您在这里所缺少的)您将无法无需与 gitlab 服务器相同的 key-ids 即可轻松将正确的用户记入信用。你可以在 GitLab 中创建一个系统用户,你总是会把推送记入你的回购服务器。但这可能不太理想。