Мне жаль, если это было покрыто, но я могу честно сказать, что потратил на минимум 3 твердых дня, пытаясь найти решение для контроля версий, и моя голова вот-вот взорвется.
Я также пролистал книгу о подрывной деятельности, но все еще в замешательстве.
В основном У меня есть приложение SAAS, которое постоянно растет. В настоящее время над приложением работает только один разработчик (я), но если интерес к нему сохранится, мне, возможно, придется начать нанимать.
Приложение написано на PHP, использует базу данных MySQL и размещено в стандартном стеке LAMP.
В настоящее время у меня на компьютере разработчика установлен GIT, однако из-за недостатка понимания мои коммиты являются нерегулярными и часто неактуальными, и у меня возникают проблемы с этим, не отслеживая изменения в каталогах.
Моя главная задача - развертывание на нашем производственном сервере. Каждый из наших клиентов имеет свои собственные папки приложений и свои собственные базы данных.
В настоящее время, когда мы запускаем обновление, мы должны написать собственный скрипт обновления, который:
1.Duplicates clients installation into a backup folder
2.Removes the live installation folder
3.Copies the new updated installation folder
4.Copies the users config files from the backup to the live install
5.Tells the operator to make the changes to the users database using a third party app
6.Cleans up.
Было скучно с 5 пользователями, но сейчас мы приближаемся к 50, и это абсолютный кошмар.
Чтобы усложнить (и немного повысить безопасность), каждая установочная папка содержит уникальные настройки базы данных, что означает, что схемы базы данных могут обновляться только из этого приложения.
Я пытался настроить gitorious server , но подумал, что я бы попросил совета о том, как действовать, прежде чем копать себя глубже.
Спасибо