Управление проектами M2 с помощью GIT (рабочий процесс)


Я разрабатываю проекты Magento для разных продавцов, и я не знаю, правильно ли я работаю, также есть некоторые сомнения, любые советы приветствуются. Я поделюсь своим рабочим процессом.

  1. Инициализировать проект

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

  1. Развертывание проекта на рабочем сервере

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

  • создайте резервную копию моего ddbb с локального
  • клонирование git на сервере
  • запустите установку composer
  • установите magento из командной строки (я знаю, что восстановлю ddbb после это, но я не знаю, почему я должен сначала установить magento, если я этого не сделаю, что-то сломано.
  • восстановить ddbb

На данный момент у меня есть 2 экземпляра Magento, точно равных, на локальном и на рабочем сервере.

  1. Развертывание категорий, продуктов, атрибутов, изображений и т. Д. На рабочем сервере

Я использую некоторое программное обеспечение, которое передает все продукты на magento через API. Я должен сделать это на рабочем сервере, Мне нужен публичный url. Когда я закончу это, мне нужно сделать резервную копию ddbb и восстановить ее на локальном компьютере, чтобы сохранить 2 экземпляра равными. Но теперь у меня есть первая проблема, у меня нет изображений продукта из-за gitignore. Не знаю, хорошо ли продолжать так работать, без изображений, или просто добавить все это в git тоже.

  1. Настройка веб-сайта

Сейчас, когда все проблемы идут вверх. Проект стабилен, но необходимо изменить некоторые вещи (иногда целый функциональность, вы знаете этот мир: D) Я стараюсь всегда работать локально, фиксировать и нажимать, но иногда мне нужно взаимодействие с продавцом, который будет настраивать на рабочем сервере, или просто нужно попробовать что-то на рабочем сервере, отредактировав некоторые конфигурации... И это головная боль, всегда приходится думать, какой экземпляр magento новее, создавать резервные копии и восстанавливать из того или иного экземпляра и т.д.


Выводы

Не знаю, применяю ли я лучшие методы, просто хотел поделиться своим рабочим процессом и получить несколько советов по улучшению. Сомнение, которое я хотел прояснить, заключается в том, что делать с изображениями, я не понимаю, почему gitignore по умолчанию отслеживает некоторые папки в /pub/media (я заметил, что играю с wysiwyg, когда вы загружаете изображения, которые он отслеживает на git), но изображения продуктов игнорируются (не уверен, где они сохранены) Я думаю, что мне будет лучше, если все изображения будут на местном уровне, но не знаю, увеличит ли проект так сильно.

Author: slayerbleast, 2017-03-24

1 answers

Вы можете синхронизировать все изображения между локальными и производственными с помощью Rsync (Учебное пособие: https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps). Обычно в git добавляются только тематические изображения, а изображения в пабе/СМИ игнорируются.

 2
Author: Tjitse, 2017-03-24 14:57:00