2012-01-03 3 views
1

У меня есть исполняемый скрипт bash под названием «pullhook» на моей PATH, который вытягивает некоторые репозитории и запускает collectstatic. Он обновляет сайт просто отлично, когда я запускаю его в Баш или в оболочке Python:Django view os.system permissions/post-receive hook

import os 
os.system('pullhook') 

Я сделал вид, что работает код выше и возвращать HttpReponse и установить, что к URL-адресу, так что я мог сделать это мой URL-адрес Github post-receive hook. Но я думаю, что я делаю это неправильно. Посещение URL-адреса не обновляет сайт, как следует.

Для целей тестирования прямо сейчас исполняемый файл имеет полные права доступа:

-rwxrwxrwx pullhook*

Может кто-то наставит меня в правильном направлении, как настроить пост-получить крюк URL с Django?

ответ

2

Ваша интуиция с правами доступа к файлам хороша, но есть много других системных вещей, которые могут пойти не так. Переменные среды, PATH и т. Д. Я бы изменил ваш сценарий pullhook для входа в хорошо известный файл. Прежде всего убедитесь, что он работает на всех, и вход с

echo "pullhook running" >> /home/youruser/pullhook.log 

и точно так же перенаправить всю необходимую для отладки вывод в файл pullhook.log.