api | ||
common | ||
console | ||
data | ||
docker | ||
.dockerignore | ||
.env-dist | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
.php_cs.dist | ||
autocompletion.php | ||
codeception.dist.yml | ||
composer.json | ||
composer.lock | ||
docker-compose.dev.yml | ||
docker-compose.prod.yml | ||
Dockerfile | ||
README.md | ||
yii |
Accounts Ely.by
Развёртывание dev [backend]
Предварительно нужно установить git, docker и его docker-compose.
За тем нужно установить, настроить и запустить nginx-proxy контейнер. Это делается один раз в рамках системы и в дальнейшем используется и для других проектов.
Также необходимо иметь доступ к registry.ely.by
. Для этого выполнить команду docker login registry.ely.by
,
ввести свой логин и пароль. Если доступа нету, то нужно его попросить у кого-нибудь, кто может его выдать.
За тем сливаем репозиторий:
git clone git@gitlab.ely.by:elyby/accounts.git account.ely.by
cd account.ely.by
Далее нужно создать .env
, docker-compose.yml
и id_rsa
файлы:
cp .env-dist .env
cp docker-compose.dev.yml docker-compose.yml
cp ~/.ssh/id_rsa id_rsa # Использовать ссылку нельзя
Касательно файла id_rsa: часть зависимостей находятся в наших приватных репозиториях, получить доступ куда можно только в том случае, если в контейнере окажется ключ, который имеет доступ к этим репозиториям.
Все вышеперечисленные файлы находятся под gitignore, так что с конечными файлами можно произвести
все необходимые манипуляции под конкретную задачу разработки. В файле .env
обязательно следует
задать JWT_USER_SECRET
, иначе авторизация на бекенде не заработает.
После этого просто выполняем старт всех контейнеров:
docker-compose up -d
Контейнеры автоматически сбилдятся и начнут свою работу.
Развёртывание dev [frontend]
Чтобы поднять сборку frontend приложения, необходимо иметь установленный в системе Node.js
версии 5.x или 6.x, а так же npm 3-ей версии (npm i -g npm
для обновления).
За тем переходим в папку frontend
и устанавливаем зависимости:
cd frontend
npm i
После того, как все зависимости будут установлены, можно поднять dev-сервер. Здесь есть 2 пути: можно, следуя инструкции выше, поднять backend на своей машине через Docker. Если же разработка не привязывается к специфичной версии backend, то более быстрым и удобным способ будет использовать наш dev-сервер, расположенный под адресу https://dev.account.ely.by.
В любом из случаев необходимо в папке frontend/config
скопировать файл template.env.js
в env.js
(находится
под .gitignore) и указать в параметре apiHost
или свой локальный сервер (тот хост, что был указан в .env
как VIRTUAL_HOST
), или указав просто https://dev.account.ely.by
.
После того, как это будет сделано, запускаем dev-сервер (находясь в папке frontend):
npm start
dev-сервер поднимется на 8080 порту и будет доступен по адресу http://localhost:8080.
Как влезть в работающий контейнер
Начиная с версии docker-compose 1.9.0, появилась команда docker-compose exec
, которая позволяет выполнить
на работающем контейнере произвольную команду, основываясь на имени сервиса в compose файле.
docker-compose exec app bash
// Старый вариант
Сперва, с помощью команды docker ps
мы увидим все запущенные контейнеры. Нас интересуют значения
из первой колонки CONTAINER ID или NAMES. Узнать, чему они соответствуют можно прочитав название IMAGE
из 2 колонки. Чтобы выполнить команду внутри работабщего контейнера, нужно выполнить:
docker exec -it accountelyby_app_1 bash
Где accountelyby_app_1
- одно из значений CONTAINER ID или NAMES. Для выхода из контейнера
используем exit
.