Ну... Я когда то делал скрипт который стартовал через команду php. Он проверял выполнение требований и создавал директории под кешы и т.д. Потом грузил код с github и дальше советы которые приведены ранее
Точно также и работало обновление. Только уже я через админку проверял обновления и если есть то при помощи exec запускал скрипт