accounts/README.md
2016-11-23 21:49:56 +03:00

98 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Accounts Ely.by
## Развёртывание dev [backend]
Предварительно нужно установить [git](https://git-scm.com/downloads),
[docker](https://docs.docker.com/engine/installation/) и его
[docker-compose](https://docs.docker.com/compose/install/).
За тем нужно установить, настроить и запустить [nginx-proxy](https://gitlab.com/elyby/nginx-proxy)
контейнер. Это делается один раз в рамках системы и в дальнейшем используется и для других проектов.
Также необходимо иметь доступ к `registry.ely.by`. Для этого выполнить команду `docker login registry.ely.by`,
ввести свой логин и пароль. Если доступа нету, то нужно его попросить у кого-нибудь, кто может его выдать.
За тем сливаем репозиторий:
```sh
git clone git@gitlab.ely.by:elyby/accounts.git account.ely.by
cd account.ely.by
```
Далее нужно создать `.env`, `docker-compose.yml` и `id_rsa` файлы:
```sh
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`, иначе авторизация на бекенде не заработает.**
После этого просто выполняем старт всех контейнеров:
```sh
docker-compose up -d
```
Контейнеры автоматически сбилдятся и начнут свою работу.
## Развёртывание dev [frontend]
Чтобы поднять сборку frontend приложения, необходимо иметь установленный в системе [Node.js](https://nodejs.org)
версии 5.x или 6.x, а так же npm 3-ей версии (`npm i -g npm` для обновления).
За тем переходим в папку `frontend` и устанавливаем зависимости:
```sh
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`.