Контроль версий и синхронизация (live & dev) для сайта PHP? - PullRequest
1 голос
/ 15 февраля 2011

Недавно я создал сайт на основе PHP / MYSQL, сайт будет работать в ближайшие несколько недель, мой наставник попросил меня настроить сайт разработчика и сайт в реальном времени, внести изменения и протестировать новые функции в dev, а затемзагрузить их в прямом эфире.

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

Я подумал, что у меня есть SVN-объект, который будет управлять синхронизацией dev и live server.В случае, если я пропущу какие-либо файлы, это будет означать, что этот файл еще не синхронизирован в прямом эфире и т. Д. Кроме того, он будет ежедневно поддерживать версии моего сайта live и dev, если что-то пойдет не так, мы можем получить более раннюю версию.версии.

Я не совсем понимаю, что такое SVN, как его настроить и как его использовать.Ребята, подскажите, пожалуйста, как его настроить и как им пользоваться.Какое программное обеспечение SVN подойдет.

Конфигурации моего сервера: это средство LAMP (Ubuntu). Я использую Windows как локальную систему для внесения изменений (dreamwaver cs5) и загрузки их на FTP.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 15 февраля 2011

У меня есть похожая конфигурация для управления разработкой, подготовкой и развертыванием для многих клиентов.Мы по-прежнему используем SVN, потому что он в большей степени поддерживается изначально и также интегрирован с простыми инструментами разработчика, такими как CODA (мы также работаем с GIT, но планируем перенести развертывание веб-приложения на GIT, как только оно будет интегрировано в такого родаредакторы).

На стороне клиента (сторона разработчиков) вы можете использовать любой визуальный клиент SVN, например Версии (OSX).

На стороне сервера мы разработалиПользовательское php-приложение для управления каждой рабочей копией на сервере и запуска новых обновлений SVNDeploy В противном случае вы можете просто запустить ssh на сервере и запустить собственное обновление.

Если вы будете следовать SVNПредлагаемая структура репозитория

/tags
/trunk
/branches

Вы можете легко управлять развертыванием следующим образом:

  • Текущий выпуск в папке /trunk
  • Снимки разработки под /branches (например, /branches/2.0-dev и т. д.)
  • Старые версии под /tags (например, /tags/1.0, /tags/1.5 и т. д.)

Мы использовали эту конфигурацию в последней3 года с 5 серверами и около 25 разработчиками, и с тех пор все работало нормально.

Некоторые полезные ссылки для настройки вашего собственного сервера Subversion:
http://svn -ref.assembla.com / subversion-server-guide-mac-os.html
http://aymanh.com/subversion-a-quick-tutorial

0 голосов
/ 15 февраля 2011

Взгляните на Mercurial .

На YouTube есть несколько видео, которые вы можете посмотреть, чтобы понять, что такое Mercurial. (Начните здесь.)

...