milesmeow
  • 0
Новичок

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

  • 0

Я работаю с другим членом команды, и они проживают в другом штате США. Мы работаем над преобразованием существующего статического сайта электронной коммерции в сайт WordPress.

Я хочу установить WordPress для разработчиков, чтобы мы оба могли легко получить к нему доступ. Я собираюсь сделать большую часть кода. Он поможет с HTML/CSS и большим количеством работы, связанной с данными. Либо вручную вводите элементы, либо выясните какой-либо метод импорта.

Вот варианты которые я продумал и есть смысл сделать Вариант 2.

Опция 1

  • Установить WordPress на мой ноутбук
  • Установить БД на мой ноутбук
  • Настройте мой маршрутизатор, чтобы разрешить входящие HTTP-запросы и перенаправить их на мой ноутбук.
  • Когда мы хотим развернуть в PROD, выполните шаги, чтобы переместить код на сервер, выгрузить БД и импортировать в БД на сервере.

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

Вариант 2

  • Установите WordPress на сервер в текущем домене в подкаталог, например: domain.com/wordpress
  • Установить БД на сервер
  • Защитите каталог паролем, чтобы остановить кого-то или какого-либо бота, пытающегося войти в каталог.
  • Когда мы хотим развернуть, обновите index.php

Есть ли другие варианты, которые также могут работать?

Контроль версий

Мне также понадобится контроль версий. Я мог бы поставить установку под SVN.

Как люди контролируют версии баз данных с кодом. В идеале они оба должны быть синхронизированы.

Share
  1. Я думаю, вам следует выбрать вариант № 3 ; любой из двух других вариантов, по моему опыту, приведет к сердечной боли. Вы закончите перезаписывать изменения друг друга и другие проблемы.

    Вариант №3

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

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

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

    До сих пор в моем развитии я всегда мог просто выполнить обновление базы данных с помощью вилочного погрузчика, но я дошел до того, что мне нужно будет управлять существующими данными. Так что, похоже, со временем я буду создавать инструменты для экспорта данных в скрипты и/или файлы, где я смогу легко объединять новую работу с текущими данными. Похоже, вам нужно то же самое. Будем надеяться, что придут и другие, и мы все сможем справиться с частью этой проблемы; как говорится: «Много рук — дело легкое».

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

    • 0
    • Спасибо за подробный ответ. Мне еще предстоит найти хороший способ держать базы данных под контролем версий и синхронизировать их с вашим кодом. Возможно, мне придется научить моего партнера подрывной деятельности. Я все еще пытаюсь понять, понадобится ли ему это. Возможно, он просто вводит данные или редактирует файлы темы через административный раздел WordPress. Я знаю, что это не идеально, поэтому мне может понадобиться, чтобы он научился контролировать версии.

      • 0
    • Субдомен кажется хорошей идеей для этого первого релиза, а также в будущем, когда у нас будет рабочая версия WordPress.

      • 0
  2. Я бы выбрал вариант 2, за исключением того, что я не думаю, что просто переход от разработки к производству — хорошая идея.

    Сопоставьте что-то вроде beta.domain.com (если можете) с отдельной базой данных и работайте там с вещами. Когда закончите, перенесите файлы и базу данных на рабочую площадку.

    • 0
  3. Вы ищете постановку в основном. Это не то, с чем WordPress очень хорош, но поскольку это PHP и MySQL, рядом с WordPress есть несколько инструментов, которые могут помочь с этим:

    https://stackoverflow.com/questions/432162/does-anybody-have-a-development-staging-deploying-workflow-with-php-mysql

    Постановка в основном означает то, что уже описал Майк, но добавляет немного сахара. Я настоятельно рекомендую что-то вроде системы сборки для запуска вещей перед выпуском. Особенно с приложениями на основе WordPress, в противном случае ожидайте много ручной работы.

    Чем раньше вы начнете автоматизировать вещи (об этом мне тоже нужно напоминать себе достаточно часто), тем быстрее вы сможете взлететь.

    • 0
  4. Однозначно вариант 2.

    просто слово о системе управления версиями, не будет ли GIT более полезным с лучшей обработкой ветвления?

    • 0

Оставить ответ

You must login to add an answer.