gpt4 book ai didi

git - 无法让 github 的 webhook URL 在我的服务器上工作

转载 作者:行者123 更新时间:2023-12-04 19:32:48 25 4
gpt4 key购买 nike

我的工作流程很简单:

  • 本地:
  • mkdir testrepo && git init && git add . && git commit -m 'commit X' && git push -u origin master
    很好,我在 github 上的 repo 得到了更新。
  • 开发服务器:
  • git clone github_repo_url
    我已经按照 here 的说明设置了一个帖子接收 Hook .

    当我从本地推送更改时,repo 会更新,但我在服务器端的脚本使用 <?php git pull不起作用。如果我 ssh 服务器并使用 php github.php 执行它,脚本确实做了 git pull并且服务器上的文件正在更新。

    我也试过 <?php $output = shell_exec('git pull'); echo $output;但同样的事情。我推送,repo 得到更新,即使 post-receive 钩子(Hook)设置正确,开发服务器也不会进行 pull (我可以通过 RequestBin 看到)。

    github.php - 755 权限。但是,如果我执行 chown username:group github.php,所有者不是 root我收到 500 错误。

    如果/当我运行脚本时,它不要求输入密码,没有可以停止脚本的对话框。我只是不明白。

    git pull以 root 身份手动登录,同时在该目录中的 ssh 上:
    git pull
    remote: Counting objects: 5, done.
    remote: Compressing objects: 100% (2/2), done.
    remote: Total 3 (delta 0), reused 3 (delta 0)
    Unpacking objects: 100% (3/3), done.
    From github.com:test/testrepo
    0e678d9..88b3237 master -> origin/master
    Updating 0e678d9..88b3237
    Fast-forward
    test.html | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)
    root@echo [/home/username/public_html/dev/testrepo]#

    并完成了工作。我的文件已更新。

    请问有什么想法吗?

    难道是apache不能自己运行php脚本?另外,如果我 ssh 进入服务器但不是使用 root,并且我尝试运行 php 脚本,我会得到一个 Permission denied (publickey)。致命:远端意外挂断

    最佳答案

    您可能会尝试的另一件事是通过 https 输入您的用户名和密码,如下所示

    https://username:password@github.com/user/reponame.git



    这样你就不必真正通过 SSH 进入。这是你从远程 repo 服务器 pull 的时候。添加 Remote 时,请确保添加这些参数。

    否则,在您的服务器上创建一个 ssh key 并将其与 GitHub 链接作为部署 key 。确保在创建 ssh key 时没有输入密码。否则,您将遇到与现在相同的问题,因为它没有通过身份验证阶段。

    关于git - 无法让 github 的 webhook URL 在我的服务器上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12677180/

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