gpt4 book ai didi

github - 如何创建一个 Gitlab webhook 来更新 Github 上的镜像仓库?

转载 作者:行者123 更新时间:2023-12-03 07:55:43 26 4
gpt4 key购买 nike

我想在 Gitlab 中创建一个 webhook 来自动更新 Github 上的镜像存储库,只要 push事件发生。我已经检查过 page ,但我不明白它是如何完成的。

我的 Gitlab 版本是 6.5。这是配置页面:

inserir a descrição da imagem aqui

我应该在 URL 中输入什么?我需要在哪里放置脚本来更新存储库?

最佳答案

你不需要一个 webhook。一个常规的 post-receive 钩子(Hook)会很好地工作。

要创建和使用这样的钩子(Hook),您只需登录安装 gitlab 的服务器并为 git 用户创建一个 ssh key 。

sudo -u git ssh-keygen -f /home/git/.ssh/reponame_key

(提示时不要输入任何密码)

转到您的 github 帐户并将公钥(已创建为 /home/git/ssh/reponame_key.pub )作为部署 key 添加到您的项目中。
看看 https://help.github.com/articles/managing-deploy-keys如果您需要帮助。

完成后,您只需配置 git 服务器和 github 之间的连接:
为 git 用户的 ssh 配置添加别名(将以下行添加到 /home/git/.ssh/config - 如果不存在则创建它)
Host reponame  
IdentityFile /home/git/.ssh/reponame_key
HostName github.com
User git

现在将新的远程(使用您刚刚创建的别名)添加到您的存储库:
cd /home/git/repositories/namespace/reponame.git

git remote add --mirror github reponame:youruser/reponame.git

现在一切就绪,您必须创建实际的钩子(Hook):
cd /home/git/repositories/namespace/reponame.git/hooks

echo "exec git push --quiet github &" >> post-receive

chmod 755 post-receive

last 命令非常重要,因为 git 会在运行之前检查钩子(Hook)是否可执行。

就是这样!

(根据您的真实账户替换reponame、namespace和youruser并享受)。

最后一点:如果你希望你的名字和头像靠近 github 上的提交,请确保你在 gitlab 上使用的电子邮件地址也是与你的 github 帐户关联的地址之一。否则你会看到你的 gitlab 用户名。

关于github - 如何创建一个 Gitlab webhook 来更新 Github 上的镜像仓库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21962872/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com