Синхронизация скриптов / DB / файлов из системы разработки на веб-сервер - PullRequest
0 голосов
/ 11 ноября 2009

Я работаю как внештатный веб-разработчик, и до сих пор вручную помещал мои скрипты / базы данных / статические файлы на мой веб-сервер, но я считаю, что это слишком подвержено ошибкам. Поэтому я ищу приложение для автоматизации загрузки новых и обновленных скриптов / файлов / баз данных / и т.д. Я знаю, что многие независимые разработчики используют WinSCP или Unison, но я не думаю, что эти приложения могут синхронизировать базы данных.

У кого-нибудь есть еще предложения? Это не должно быть чем-то чрезмерно богатым, так как я работаю не в команде, не в нескольких операционных системах и не в таком духе. Я могу приобрести любую лицензию по разумной цене, если это необходимо. Моя работа в основном для PHP / MySQL / Apache в системе Windows, а затем загружена на сервер Linux / Apache.

спасибо за ваше время!

Ответы [ 2 ]

0 голосов
/ 12 ноября 2009

Вы можете использовать что-то вроде rsync, которое будет синхронизировать что угодно и работать через соединение SSH. Однако вы можете рассмотреть возможность отделения вашего приложения от данных и использовать другие методы. Предположительно, если вы разрабатываете на своей машине, вы будете запускать локальные тесты, и локальные данные обычно не должны попадать на сайт. В этом случае, если вы запускаете что-то вроде SVN локально, а затем используете клиент SVN на веб-сервере для загрузки обновлений, вы можете синхронизировать приложение, не затрагивая данные.

Конечно, когда вам это нужно, можно использовать rsync для загрузки всего, например, на новый сайт.

По своей природе rsync может плавно перезапускаться всякий раз, когда передача прерывается, поскольку он всегда сравнивает и источник, и пункт назначения, а затем передает только столько данных, сколько необходимо, чтобы пункт назначения был равен источнику. Это означает, что большинство ваших переводов будут выполняться намного быстрее, чем с FTP.

Если природа вашего веб-приложения требует регулярного обновления базы данных, не поддавайтесь искушению попробовать SVN, потому что системы контроля версий действительно хорошо работают только с файлами исходного кода. Кроме того, когда вы используете rsync для отправки обновления, вы должны убедиться, что база данных не активна, потому что она фактически находится в поврежденном состоянии, пока rsync не завершится успешно. Если вы всегда обновляете промежуточную папку на веб-сервере, а затем переносите ее в рабочую среду, когда база данных закрыта, это будет работать лучше всего.

0 голосов
/ 11 ноября 2009

Надеюсь, вы используете какую-то систему контроля версий, такую ​​как SVN или Mercurial. Тогда все ваши разработчики смогут работать из одного и того же репозитория, будут иметь полную историю, и большая часть слияния произойдет автоматически.

Не использовать контроль версий - огромная боль в заднице! Вы будете случайно топать работу друг друга, терять файлы, забывать, что было изменено, иметь несколько копий файлов повсюду и т. Д. Системы контроля версий решают все эти проблемы, а также централизуют ваш код в едином месте, откуда можно вытащить и нажать.

...