Обновлён README.md файл

This commit is contained in:
ErickSkrauch 2016-11-23 21:49:56 +03:00
parent fb0dde4abc
commit 5c8bd20761

View File

@ -1,6 +1,6 @@
# Accounts Ely.by # Accounts Ely.by
## Развёртывание dev ## Развёртывание dev [backend]
Предварительно нужно установить [git](https://git-scm.com/downloads), Предварительно нужно установить [git](https://git-scm.com/downloads),
[docker](https://docs.docker.com/engine/installation/) и его [docker](https://docs.docker.com/engine/installation/) и его
@ -15,8 +15,8 @@
За тем сливаем репозиторий: За тем сливаем репозиторий:
```sh ```sh
git clone git@gitlab.com:elyby/account.git account.ely.by git clone git@gitlab.ely.by:elyby/accounts.git account.ely.by
cd account.ely.by.local cd account.ely.by
``` ```
Далее нужно создать `.env`, `docker-compose.yml` и `id_rsa` файлы: Далее нужно создать `.env`, `docker-compose.yml` и `id_rsa` файлы:
@ -27,12 +27,12 @@ cp docker-compose.dev.yml docker-compose.yml
cp ~/.ssh/id_rsa id_rsa # Использовать ссылку нельзя cp ~/.ssh/id_rsa id_rsa # Использовать ссылку нельзя
``` ```
Касательно файла id_rsa: часть зависимостей находятся в наших приватных репозиториях, получить **Касательно файла id_rsa**: часть зависимостей находятся в наших приватных репозиториях, получить
доступ куда можно только в том случае, если в контейнере окажется ключ, который имеет доступ к этим доступ куда можно только в том случае, если в контейнере окажется ключ, который имеет доступ к этим
репозиториям. репозиториям.
Все вышеперечисленные файла находятся под gitignore, так что с полученными файлами можно произвести Все вышеперечисленные файлы находятся под gitignore, так что с конечными файлами можно произвести
все необходимые манипуляции под конкретный кейс использования. **В файле `.env` обязательно следует все необходимые манипуляции под конкретную задачу разработки. **В файле `.env` обязательно следует
задать `JWT_USER_SECRET`, иначе авторизация на бекенде не заработает.** задать `JWT_USER_SECRET`, иначе авторизация на бекенде не заработает.**
После этого просто выполняем старт всех контейнеров: После этого просто выполняем старт всех контейнеров:
@ -41,10 +41,50 @@ cp ~/.ssh/id_rsa id_rsa # Использовать ссылку нельзя
docker-compose up -d 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` мы увидим все запущенные контейнеры. Нас интересуют значения Сперва, с помощью команды `docker ps` мы увидим все запущенные контейнеры. Нас интересуют значения
из первой колонки CONTAINER ID или NAMES. Узнать, чему они соответствуют можно прочитав название IMAGE из первой колонки CONTAINER ID или NAMES. Узнать, чему они соответствуют можно прочитав название IMAGE
из 2 колонки. Чтобы выполнить команду внутри работабщего контейнера, нужно выполнить: из 2 колонки. Чтобы выполнить команду внутри работабщего контейнера, нужно выполнить: