Лучший / лучший / оптимальный способ настройки сервера Staging / Development - PullRequest
5 голосов
/ 21 октября 2010

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

Я не смог найти ни одного "стандартного" или "лучшего"способ сделать сервер разработки.Вот две вещи, которые я видел:

a) Использование GIT или SVN для размещения данных (это не решает мою проблему, мне нужно где-то разрабатывать, желательно не мой домашний компьютер)

b) Capistrano (для Rails, есть ли что-то для PHP?)


Текущее решение, на которое я смотрю, - это поместить полную копию сервера в "development.domain.com ", что позволило бы мне работать над всем, и я мог бы просто скопировать файлы в основной раздел.

Это работоспособное решение?Какое оптимальное решение?(Отдельный сервер, специальные инструменты и т. Д.)


РЕДАКТИРОВАТЬ Эта система была разработана рядом разработчиков.Настройки сервера были значительно изменены, чтобы обеспечить полную функциональность и безопасность системы.Разработка на моем собственном компьютере не является работоспособным решением, равно как и для системы типа интрасети, поскольку ни один из наших программистов не находится в одном месте.

Я ищу решение на сервере.

Ответы [ 4 ]

3 голосов
/ 21 октября 2010

Три предложения:

1) Вы на правильном пути, убедившись, что ваш исходный код находится в той или иной форме контроля над исходным кодом (git и svn - отличный выбор).Это должно быть приоритетом № 1.

2) иметь ВСЕ, что отклоняется от стандартной конфигурации, в той или иной форме контроля источника.Это означает, что ваши apache-конфигурации, php.ini, базы данных и т. Д. Затем, когда вы настраиваете свои промежуточные и dev-серверы, вы можете быть (относительно) уверены, что все одинаково на всех ваших серверах, иначе вы просто догадаетесь.

3) Изучите какие-либо сценарии сборки, либо ant, phing , либо что-нибудь, что вы можете использовать для надежного построения своей среды с нуля на любом компьютере.

ТамЕсть множество других вещей, которые вы можете сделать, но если вы реализуете эти три, вы сможете легко настроить dev / staging server.Это также даст вам дополнительное преимущество, заключающееся в том, что все ваши разработчики имеют одинаковую среду при выполнении своих разработок.

2 голосов
/ 21 октября 2010

http://www.wampserver.com/ для окон

или

www.mamp.info для mac

или

загрузить ВМ

Лично я занимаюсь программированием на Mac, использую VMWare с suse или redhat для среды тестирования сервера. Я использовал мамп в прошлом, и он работает хорошо; но иногда мне нравится работать в реальной операционной системе.

Это, или настройте физический тестовый сервер. PHP / (выбор БД) теперь работает на любом (Mac, Windows, Linux)

В зависимости от того, как вы хотите это сделать, вы можете установить VMWare прямо на рабочий сервер и создать там; то есть, если вы запускаете сервер самостоятельно. Если ваш совместный или общий хостинг, вы, вероятно, не можете этого сделать.

-Mario

1 голос
/ 21 октября 2010

Ваша среда разработки, промежуточная и производственная среда должны быть одинаковыми, иначе вы рискуете изменить что-то бомбардировочное при перемещении между средами.Очевидно, что ваша среда разработки будет иметь настройки разработки (например, PHP display_errors on, возможно, удаленный отладчик и т. Д.), Но в остальном они должны быть максимально идентичными.

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

0 голосов
/ 21 октября 2010

Я начал использовать репозиторий git в качестве отправной точки. Основная разработка сделана на моем локальном Mac. В определенный момент я отправляю изменения и перетаскиваю их на сервер разработки, где проводится дальнейшее тестирование. Если все хорошо, я вытаскиваю вещи на сервер разработки. Это более или менее так, я думаю, Capistrano работает. Я написал центральный скрипт для этих задач, чтобы я мог обновлять серверы разработки или производства с помощью одной команды.

...