无法从github运行ruby脚本来git pull

时间:2014-07-27 09:55:04

标签: ruby-on-rails ruby git github

我在我的Ubuntu 14.04实例中运行了一个rails服务器,并且我在github.com上托管了我的代码。对于用户推送到github,我已经设置了一个webhook到我的应用程序,它监听来自github的任何POST调用,并尝试在POST具有所有正确的有效负载时执行ruby脚本gitscript.rb。

不幸的是,剧本没有做一个git pull而且我很难完美地运行它。任何帮助将不胜感激。

下面是我的代码,用于监听webhooks并运行脚本,但脚本中的命令不运行,我拥有ruby脚本所需的所有权限。

def webhooks
    push = JSON.parse(request.body.read)
    if some_condition_that_should_be_true
      logger.info "Yes go ahead and pull"
      logger.info "Ran the git pull command" if `cd /home/server && git pull >> cat.txt`
      logger.info "Ran the ruby" if `ruby /home/server/gitscript.rb`
      logger.info "Last command"
    else
      logger.info push
    end
    render :json => { :code => 'Webhooks came good' }, :status => 200
  end

我的红宝石脚本在下面,是的,所有权限都是正确的,为了测试我做了777

!/bin/env ruby
cd /home/server && git pull

1 个答案:

答案 0 :(得分:0)

运行脚本的用户可能没有git存储库的读/写权限(不是在这里讨论权限,而是关于deploy-keys的更多信息,它们只是允许用户读取和/或写入的SSH密钥/到远程git仓库。)

您可以git pull作为在您的服务器上运行此脚本的用户吗?