gitHub webhook自动拉取不按预期工作

时间:2016-11-21 16:12:29

标签: php wordpress github

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

我按照this guide中的说明(在自动Git Pull on Server 部分中)。这正是我所做的:

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

<?php `git pull`;’ >

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

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

但这不符合预期。为了清楚起见,webhook会按预期触发(每当我推送到Github时),但是没有按预期发生。有什么想法?也许语法错误?也许权限错误?也欢迎提供故障排除建议。是否有我可以查看的日志会更轻松?

可能相关信息

  • 我是唯一一个从此存储库推送和拉出的人。目前,每次我推送到GitHub,我总是用手动拉动来跟进它。我希望稍微自动化拉动过程。

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

2 个答案:

答案 0 :(得分:0)

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

我使用了这个repo的旧版本,它应该适合你

答案 1 :(得分:0)

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

  1. 在网站html文件夹上创建
  2. 如果需要,可将其添加到gitignore中。
  3. 将网址ex:https://domainname.com/deploy.php添加到webhooks
  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/