2014-02-19 3 views
0

Я хочу создать сценарий для git, который запускается при обновлении репо и делает «git pull» на нашем удаленном сервере.Auto Gitpull Script?

У меня есть очень простой вариант, в котором сообщение POST устанавливается в URL на нашем сервере, который будет иметь Контент

<?php `git pull`; 

В этом, никаких проблем там. Однако домен dev на самом деле является поддельным доменом, который nginx перенаправляет на мой сервер (url.dev), поэтому я не могу указать на него таким образом. Моя идея состояла в том, чтобы указать другой живой домен на подпапку на dev-сервере, поэтому к каталогу верхнего уровня нельзя получить доступ, но тогда, конечно, запуск «git pull» из этого каталога не будет работать. Есть ли вообще в PHP для запуска команды, чтобы «CD» попал в правильного директора и Gitpulls, или это невозможно с помощью php?

ответ

0

Если добавить открытые ключи пользователя, который работает скрипты (обычно WWW-данных), вы можете сделать это

system("/path/to/executable/git pull;echo \"\nLast commit\"; /path/to/executable/git log -2;"); 
+0

как бы я запускаю это? как скрипт php? – realdannys

+0

Да, во-первых, убедитесь, что пользователь www-data может войти в git-сервер через ssh-ключи, а затем попробовать git pull, и если все работает, этот скрипт будет делать то же самое. – sathia

+0

хорошо, я дам это. На данный момент мой пользователь nginx. К сожалению, я не могу поменять пользователей nginx по командной строке, поэтому трудно понять, могу ли я это сделать или нет, нет домашней папки или чего-то еще. – realdannys

Смежные вопросы