Git post-receive у меня не работает

Я прошел через много-много ответов, но ничего не дает никаких результатов.

В основном post-receive никогда не вызывается. Это скрипт внутри /home/git/repo.git/hooks/post-receive

#!/bin/sh
2>&1 > "post-receive.log"
cd /home/ubuntu/project
git checkout -f master

Мы хотим проверить /home/ubuntu/project

Существует сервер Ubuntu с пользователем по имени ubuntu. Также есть пользователь с именем git. Мы клонируем/push/pull и т. д. против репозитория под пользователем git.

sudo chmod +x post-receive выполнено.

Пользователь git — sudoer.

Так что, когда есть push с изменениями! ничего не происходит. post-receive.log даже не создается. Я могу запустить скрипт вручную на сервере как пользователь git. Не как пользователь Ubuntu...


person Matt Canty    schedule 27.05.2013    source источник
comment
Вы говорите, что не можете запустить скрипт (даже вручную) от имени другого пользователя. Если у вас включен selinux, это мешает?   -  person torek    schedule 27.05.2013


Ответы (1)


Восстановил репо, используя только пользователя Ubuntu. Не уверен, что могло произойти с пользователем Git, возможно, ты был прав, torek.

Для тех, кто сталкивается с похожей проблемой и использует другую учетную запись пользователя для Git, попробуйте следующее руководство — все под одним пользователем.

http://caiustheory.com/automatically-deploying-website-from-remote-git-repository

Однако обратите внимание, что мы должны были установить core.worktree после конфигурации core.bare.

person Matt Canty    schedule 27.05.2013