Как уже было сказано, нам нужно знать гораздо больше о вашей системе, чтобы дать хороший ответ.
Но я укажу, что в большинстве сред целесообразно настроить производственную машину как хост git
и использовать git push
для управления синхронизацией из среды разработки. (Если вы когда-либо использовали Heroku, это будет казаться знакомым.)
Причины:
- Это освобождает вас от вспоминания, какие файлы были обновлены. Просто нажмите.
- Он обеспечивает быстрый и простой механизм отката. Если вы подтолкнули изменение, и оно оказалось сломанным, просто roll back as shown here.
- Для управления изменениями вы должны иметь локальное репо.
git
делает модернизацию производственной машины легкой с помощью крюка приема сообщения. Настройте голый репозиторий в своем доме входа на производственный сервер.
mkdir site.git
cd site.git
git init --bare
Настройка корня сайта, например:
mkdir /var/www/www.mysite.com
Затем создайте п сценарий оболочки hooks/post-receive
(не забудьте chomod +x
), содержащий что-то вроде:
#!/bin/sh
GIT_WORK_TREE=/var/www/www.mysite.com git checkout --force
Теперь добавьте site.git
в удаленный репозиторий машины разработки. Нажатие этой цели обновит производственную машину.
NB
Я не выступает за мерзавцем, чтобы быть полным решением. Поскольку @Will I Am сказано в комментариях, вам нужно продумать конфиденциальные данные в свете того, где хранятся ваши репозитории. Однако даже для этого git
может быть полезным инструментом при правильном настройке e.g. as explained here. Общая идея для конфиденциальных данных заключается в использовании git
и отдельного репо или подмодуля в качестве интеллектуальной формы безопасного FTP.Конечно, если количество и/или сложность конфиденциальных данных малы, простой сценарий или сценарий удаленной оболочки будут делать то же самое.
Есть несколько проблем с этим вопросом, что могло бы объяснить отсутствие внимания. Во-первых, он довольно широк. Кроме того, он должен привлекать ответы с оценкой, потому что есть много способов решить эту проблему. Запросить инструменты для рекомендаций также не входит в объем Stackoverflow. Наконец, вы можете сделать некоторые исследования и обновить свой вопрос с помощью ранних результатов. Поиск развертывания программного обеспечения может быть хорошей отправной точкой. Кроме того, не забывайте о хорошем ol Rsync. – SirDarius