Назад | Перейти на главную страницу

Перетащите репозиторий GitHub в / var / www

У меня есть частный репозиторий GitHub, на котором я хотел бы настроить свой тестовый сервер (LAMP) для автоматического извлечения / извлечения файлов из основной ветки и помещения их в свой веб-корень (/ var / www).

Разве нельзя было бы создать сценарий оболочки, который будет cd в / var / www, а затем запустить git pull origin master? Могу ли я сделать это с помощью задания CRON?

Да.

Создайте сценарий оболочки с чем-то вроде:

#!/bin/sh
cd /var/www
git pull origin master

Вы можете хранить файл где угодно. Предположим, в / scripts / Предположим, он называется getsite.sh

Убедитесь, что ваш файл исполняемый:

chmod +x /scripts/getsite.sh

Запустите команду, чтобы убедиться, что она работает. Я предполагаю, что вы уже запустили git init и настроили репо.

/scripts/getsite.sh

Предполагая, что он работает нормально, вы можете создать запись crontab, чтобы запускать ее так часто, как считаете нужным:

crontab -e

Вам понадобится запись примерно следующего содержания:

59 23 * * * /scripts/getsite.sh

Это будет запускать скрипт в 23:59 каждый день.

Прочтите страницу руководства по crontab, если вам понадобится помощь.

Ответ Да, но вам нужно рассмотреть несколько различных вариантов. Основная идея - объединить события в цепочку, независимо от того, используете ли вы git-hooks, rsync и cron или даже Dropbox.

Для получения дополнительных идей взгляните на http://debuggable.com/posts/git-tip-auto-update-working-tree-via-post-receive-hook:49551efe-6414-4e86-aec6-544f4834cda3

и

http://www.turnkeylinux.org/blog/website-synchronization

Поищите git-hooks и push / pull, и вы найдете много информации.