- Используйте некоторую систему управления версиями , такую как Git.
- Используйте некоторые сценарии обновления , сценарии, проверяющие, совпадает ли текущая версия (версия в рабочей среде) с удаленным репозиторием (наиболее свежим, обновленным при внесении изменений). ) и - если версии отличаются - обновите производство.
- Вызывайте скрипт из пункта 2. на постоянной основе, например, используя cron.
Это будет самое быстрое (на основе внутренних механизмов Git) решение, очень надежное (вы будете использовать систему контроля версий) и достаточно безопасное (вы не будете перезаписывать, например, файлы, загруженные пользователями).
В Интернете есть несколько примеров таких инструментов.
Существует также пример простого извлечения последних изменений из репозитория Git с использованием заданий cron здесь: stackoverflow.com / questions / 4414140 / git-auto-pull-using-cronjob
В качестве альтернативы, вы можете использовать так называемые «сервисные хуки» для вызова скриптов обновления, только когда версия в хранилище изменяется кем-то, кто делает push в хранилище (функция доступна, например, в GitHub ).