Конфигурация воркспейса 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, а рядом. Позже мы переименуем папки.
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
.
Все кастомизации старых конфигов придётся интегрировать в новый воркспейс вручную.