【问题标题】:Git auto pull from repository into staging server?Git自动从存储库拉到登台服务器?
【发布时间】:2016-09-18 07:13:48
【问题描述】:

我一直在到处寻找这个问题的答案。我知道已经有这样的问题,但我似乎无法找到一个直接的答案。

如何从 github 存储库自动拉取到我的登台服务器?

我有我的本地文件要推送到我的存储库中,但我希望这些文件自动被拉到我的登台服务器中。

我的 ssh 部署密钥已在我的 github 帐户中正确设置。每当我 ssh 进入我的登台服务器并执行手动 git pull 命令时......它工作得很好。但现在我希望它是自动的。

我在我的 github 帐户中创建了一个 webhook,其有效负载 URL 指向包含此代码的 PHP 文件,但我认为它不起作用:

<?php `git pull git@github.com:user/repo.git`; ?>

我不确定我是否正确设置了 webhook。

有人可以帮帮我吗?

【问题讨论】:

  • 第一个应该是克隆,其余应该是拉动
  • 这会让它自动开始工作吗?
  • 您可以配置 crontab 之类的东西,每隔几分钟从 github 更新一次登台服务器的存储库。如果你想更进一步,像 Jenkins 这样的 CI 工具会很有帮助。 Jenkins 提供了一组构建触发器插件来监控您的 github 存储库。 Jenkins 作业可以由您的 github 存储库中发生的时间或事件触发。您可以定义在工作中要做什么。

标签: php git github ssh


【解决方案1】:

按照这些步骤进行

1) 在您的登台服务器中创建一个名为 githubupdate.php 的文件并在该文件中添加以下内容

<?php `git pull`;?>

2) 现在转到 github 帐户并打开你的 repo 设置 3) 点击 webhook 和 addwebhook,在 webhook 中你必须添加上面的 url e.g http://www.yoursite.com/githubupdate.php 4)现在尝试从本地推送并检查它是否有效?

【讨论】:

    【解决方案2】:

    如果部署脚本位于不同的目录中,请务必将 CD 放入临时服务器中的正确目录。

    <?php `cd /your/repo/location && git pull`; ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 2019-09-27
      • 2011-04-23
      • 2014-03-24
      • 1970-01-01
      • 2011-12-23
      • 2010-09-26
      相关资源
      最近更新 更多