我的英语不是很好。请耐心等待。
我在stackoverflow和google上搜索了这个问题。但是也无法解决这个问题。
我只是想通过git hook建立一个自动部署环境。但它不起作用。
我在一台计算机上使用Ubuntu 12.04服务器作为服务器,我称之为 PC-Ser 。 我在其他计算机上使用Windows 7 PC作为客户端,我称之为 PC-C 。
我在 PC-Ser 上安装了gitolite:
- apt-get install gitolite
- addgroup gitolite
- adduser --disabled-password --home / home / gitolite --ingroup gitolite gitolite
- su gitolite
- gl-setup /tmp/user.pub
醇>
然后我
"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取得了成功。
请帮助我。非常感谢!