错误:致命:不是git存储库:'。'当我使用gitolite Hooks post-receive来自动部署代码时

时间:2012-11-16 09:10:33

标签: git ubuntu hook autodeploy

我的英语不是很好。请耐心等待。

我在stackoverflow和google上搜索了这个问题。但是也无法解决这个问题。

我只是想通过git hook建立一个自动部署环境。但它不起作用。

我在一台计算机上使用Ubuntu 12.04服务器作为服务器,我称之为 PC-Ser 。 我在其他计算机上使用Windows 7 PC作为客户端,我称之为 PC-C

我在 PC-Ser 上安装了gitolite:

  
      
  1. apt-get install gitolite
  2.   
  3. addgroup gitolite
  4.   
  5. adduser --disabled-password --home / home / gitolite --ingroup gitolite gitolite
  6.   
  7. su gitolite
  8.   
  9. gl-setup /tmp/user.pub
  10.   

然后我

"git clone gitolite@PC-Ser:gitolite-admin"

PC-C

我通过编辑gitolite.conf文件创建一个名为autoDeploy的repo并推送它。这是 gitolite.conf

repo    gitolite-admin
        RW+ = admin

repo    autoDeploy
        RW+ = @all

之后,我在 PC-Ser 上做了一些事情:

cd /var/www
git clone /home/gitolite/repositories/autoDeploy.git

然后我编辑 /home/gitolite/repositories/autoDeploy.git/hooks/post-receive

#!/bin/bash
cd /var/www/autoDeploy
pwd >> /log/pwd.log
git push /home/gitolite/autoDeploy>> /log/push.log 2>&1
echo "finish" >> /log/finish.log
whoami >> /log/user.log

然后,我在 PC-C .autoDeploy上创建了一个test.txt并推送它。

但是/ var / www / autoDeploy没有拉。它不起作用。

PC-Ser 的日志中有这个:

/log/pwd.log:

/var/www/autoDeploy

/log/push.log:

fatal: Not a git repository: '.'

/log/finish.log:

finish

/log/user.log:

gitolite

我尝试按root运行/home/gitolite/repositories/autoDeploy.git/hooks/post-receive,这是成功的,/ var / www / autoDeploy已经拉了。

然后我“su gitolite”并运行/home/gitolite/repositories/autoDeploy.git/hooks/post-receive,it也成功。没有错误./var/www/autoDeploy取得了成功。

请帮助我。非常感谢!

0 个答案:

没有答案