MadridianFox / ensi-workspace

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ensi ELC workspace

Конфигурация воркспейса ELC для разработки сервисов Ensi.

Установка

Клонируем воркспейс в удобное для вас место, однако если вы работаете под Windows, то клонировать воркспейс необходимо внуть WSL.

git clone git@github.com:MadridianFox/ensi-workspace.git ~/work/ensi

Клонируем сервисы Ensi в папку apps в папке воркспейса в соотвествии с вот этой структурой:

apps
├── admin-gui
│   ├── admin-gui-backend
│   └── admin-gui-frontend
├── catalog
│   ├── feed
│   ├── offers
│   └── pim
├── cms
│   └── cms
├── communication
│   ├── communication
│   └── internal-messenger
├── customers
│   ├── crm
│   ├── customer-auth
│   └── customers
├── logistic
│   ├── geo
│   └── logistic
├── marketing
│   └── marketing
├── orders
│   ├── baskets
│   ├── oms
│   └── packing
├── other
│   └── php-test
├── reviews
│   └── reviews
└── units
    ├── admin-auth
    ├── bu
    └── seller-auth

Конечные папки в этом дереве, такие как feed или oms, должны быть корнями репозиториев соответсвующих сервисов.
Вы можете разложить сервисы Ensi и подругому, однако тогда вам будет необходимо создать файл env.yaml и переопределить в нём переменные, задающие пути до сервисов.

Дополнительно вы можете клонировать пакеты в папку packages. Для пакетов не задана особая структура расположения, однако они должны находиться в дирректории packages, изменить путь до которой вы можете тем же способом что и пути до сервисов.

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

Миграция с ELC bash edition

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

Сначала надо клонировать воркспейс, но не в целевую папку, которая занята старым ELC, а рядом. Позже мы переименуем папки.

git clone git@github.com:MadridianFox/ensi-workspace.git ~/work/ensi-new

Чтобы перенести содержимое БД, запустим старую БД и сделаем бэкап. Для этого в вокспейсе в папке scripts есть скрипт, который нужно будет вызвать:

ensi global start postgres

cd scripts
./get-dbs-from-old-elc

ensi global stop postgres

В текущей дирректории будет создана папка backup, проверьте что в ней есть файлы.

Далее меняем местами папки старого ELC и воркспейса, чтобы не повредить права на файлах лучше использовать команду mv, а не mc или графический файловый менеджер:

sudo mv ensi ensi-old
sudo mv ensi-new ensi

Запускаем новую БД, и выполняем другой скрипт, который восстановит базы из бэкапа:

elc start database

cd  scripts
./restore-databases

Далее последовательно копируем репозитории сервисов из старой папки ELC в папку apps нового воркспейса. Опять же, используем mv чтобы не повредить права:

sudo mv ensi-old/apps/crm ensi/apps/customers/crm
sudo mv ensi-old/apps/oms ensi/apps/orders/oms
...

Если вы создавали скрипты в ensi-old/data/home, то можете перенести их в ensi/home. Все кастомизации старых конфигов придётся интегрировать в новый воркспейс вручную.

About


Languages

Language:Shell 72.4%Language:Dockerfile 27.6%