【问题标题】:GitHub webhook to auto-pull not working as expected自动拉取的 GitHub webhook 无法按预期工作
【发布时间】:2017-04-05 02:34:14
【问题描述】:

我正在尝试安装一个webhook in Github,它将指示我的远程服务器在我推送到同一个存储库时自动从我的 Github 存储库中提取,但它没有按预期工作。

我按照this guide 中的说明进行操作(在服务器上的自动 Git 拉取 部分)。这正是我所做的:

--我创建了一个简单的 PHP 文件,只包含以下行:

<?php `git pull`;’ >

并将其加载到我的网络服务器上。

--然后我在 Github 中创建了 webhook 以在每次推送事件发生时运行此文件(我已经两次和三次检查是否指定了正确的文件和路径)。

但这并没有按预期工作。需要明确的是,webhook 会按预期触发(每当我推送到 Github 时),但不会按预期进行拉取。有什么想法为什么?也许语法错误?也许权限错误?也欢迎故障排除建议。是否有我可以查看的日志可以提供更多信息?

可能的相关信息

  • 我是唯一一个推入和拉出此存储库的人。目前,每次我推送到 GitHub 时,我总是手动拉取。我希望将拉取过程自动化一点。

  • 有问题的项目是我在本地构建的小型 (WordPress) 网站,然后推送到 Web 服务器。

【问题讨论】:

  • 您的 PHP 日志中有什么内容?
  • @Samsquanch,进程中没有创建 debug.log 文件。

标签: php wordpress github


【解决方案1】:

您编写的 PHP 脚本不是这样工作的。请尝试以下步骤:

  1. 在网站上创建 html 文件夹
  2. 如果需要,可以在 gitignore 中添加。
  3. 将网址例如:https://domainname.com/deploy.php 添加到 webhook
  4. deploy.php 脚本代码::

     <?php
     echo exec('git pull http://github.com/rajatmalik3143/bug-fixes.git')
     #echo shell_exec('whoami')
      ?>
    
  5. chmod +x deploy.php

  6. chown apache:apache deploy.php
  7. chown apache:apache html/

【讨论】:

    【解决方案2】:

    https://github.com/markomarkovic/simple-php-git-deploy/blob/master/deploy.php

    我使用了这个 repo 的旧版本,应该对你有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-12
      相关资源
      最近更新 更多