Назад | Перейти на главную страницу

Среда разработки, тестирования и производства для больших проектов php / mysql

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

У меня есть выделенный сервер, на котором работает CentOS с PLESK. И у меня есть ПК с Windows с XAMPP.

Теперь я работаю над разработкой и базовым тестированием моего ПК, и всякий раз, когда я чувствую необходимость протестировать что-то на сервере, я загружаю все и тестирую на сервере. Особенно для изменений mysql это действительно боль, мне приходится снова и снова экспортировать и импортировать новую базу данных.

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

Спасибо за уделенное время.

По сути, установка с тремя серверами - это правильный путь, в зависимости от того, сколько людей разрабатывают даже установку с четырьмя серверами:

  1. локальная среда для кодирования, тестирования изменений и т. д.
  2. (необязательно) сервер разработки для всех разработчиков, который всегда получает последний исходный код из репозитория
  3. промежуточный сервер, который должен иметь ту же конфигурацию, что и 4, и на котором сначала тестируются новые выпуски
  4. фактический производственный сервер, который должен обновляться только с помощью кода, который был тщательно протестирован на промежуточном сервере. Если вы используете какую-то систему SCM, развертывание новой базы данных должно быть легким, просто написав сценарий, который выгружает последнюю версию содержимого базы данных, помещает его в SCM и автоматически обновляет серверы 2 и, возможно, 3.

Итак, ключевые слова:

  • использовать систему управления исходным кодом
  • максимально автоматизировать процесс сборки и развертывания

Во-первых, это вообще не проблема системного администрирования, но я сомневаюсь, что другие сайты трилогии подходят больше, чем этот.

То, как вы это делаете, имеет большой смысл, но вы можете значительно облегчить себе жизнь с помощью некоторой автоматизации. Почему бы не создать сценарии для всего этого обновления? Одна часть скрипта выполняет дамп, загрузку и импорт MySQL, а другая часть может использовать любое количество инструментов для загрузки только того, что изменилось в вашем PHP.