GitHub post-hook не работает с нашим PHP-скриптом - PullRequest
1 голос
/ 16 марта 2012

У нас есть PHP-скрипт, который состоит только из следующего кода ...

/usr/bin/git pull

... мы изначально использовали просто git pull.

Всякий раз, когда GitHub публикует данные в этот скрипт, git pull завершается неудачей. Мы попытались использовать http://us2.php.net/manual/en/function.shell-exec.php и сохранить ответ в переменной и записать содержимое этой переменной в текстовый файл, чтобы мы могли убедиться, что команды выполнялись - и они были! Мы могли бы выполнить, например, git log, и текстовый файл будет содержать все содержимое ответа git log. Но выполнение git pull просто не работает?

Наши серверные инженеры предложили использовать полный путь к git install (используя which git, чтобы найти путь), и это то, что вы видите выше, но это тоже не сработало.

Мы не понимаем, почему мы можем выполнять команды git, такие как git log, когда пост-ловушка GitHub вызывает наш скрипт, но пока git pull не работает?

У кого-нибудь есть идеи, почему это не сработает?

Спасибо.

1 Ответ

0 голосов
/ 25 апреля 2012

убедитесь, что код выполняется как пользователь с достаточными привилегиями.Вы можете подтвердить это, запустив whoami в сценарии, который пытается выполнить команду git

...