Add instructions to run databases in docker.
This commit is contained in:
parent
28b48aada9
commit
55863b75ba
6 changed files with 51 additions and 3 deletions
|
@ -22,3 +22,25 @@ sudo apt install postgresql
|
|||
|
||||
Тесты сами запускают базу данных в начале, и останавливают её в конце.
|
||||
База данных работает от текущего пользователя во временной директории.
|
||||
|
||||
## Запуск postgres в docker
|
||||
|
||||
Даже если у вас linux (и уж тем более, если нет), вы можете не захотеть ставить postgres в систему.
|
||||
Альтернативный способ — запустить бд в докере.
|
||||
|
||||
Для этого нужно установить docker и docker-compose по инструкции из [dockertest](../dockertest/README.md).
|
||||
Добвиться успешного запуска
|
||||
```
|
||||
go test -v ./dockertest/...
|
||||
```
|
||||
|
||||
Запускать тесты можно будет так:
|
||||
```
|
||||
(cd dao && docker-compose up -d && sleep 1 && env PGCONN="host=127.0.0.1 port=5432 database=shad-go user=gopher password=pass" go test -v ./... -count=1 || true && docker-compose down)
|
||||
```
|
||||
Эта команда стартует docker с postgresql, запускает тесты, передав им DSN через переменную окружения, удаляет контейнеры в конце.
|
||||
|
||||
Как подчистить контейнеры, если что-то пошло не так:
|
||||
```
|
||||
(cd dao && docker-compose down)
|
||||
```
|
||||
|
|
10
dao/docker-compose.yaml
Normal file
10
dao/docker-compose.yaml
Normal file
|
@ -0,0 +1,10 @@
|
|||
version: '3'
|
||||
services:
|
||||
pg:
|
||||
image: postgres:latest
|
||||
environment:
|
||||
POSTGRES_DB: shad-go
|
||||
POSTGRES_USER: gopher
|
||||
POSTGRES_PASSWORD: pass
|
||||
ports:
|
||||
- 5432:5432
|
|
@ -9,8 +9,6 @@
|
|||
go test -v ./dockertest/... -count=1
|
||||
```
|
||||
|
||||
Только **после того, как тесты пройдут локально,** можете запушить решение в систему.
|
||||
|
||||
### С чего начать?
|
||||
|
||||
<details>
|
||||
|
|
|
@ -16,4 +16,4 @@
|
|||
|
||||
Мы рекомендуем использовать функциональность `SELECT FOR UPDATE`.
|
||||
|
||||
Комментарии по запуску postgres смотрите в задаче `dao`.
|
||||
Комментарии по запуску postgres смотрите в задаче [dao](../dao/).
|
||||
|
|
10
ledger/docker-compose.yaml
Normal file
10
ledger/docker-compose.yaml
Normal file
|
@ -0,0 +1,10 @@
|
|||
version: '3'
|
||||
services:
|
||||
pg:
|
||||
image: postgres:latest
|
||||
environment:
|
||||
POSTGRES_DB: shad-go
|
||||
POSTGRES_USER: gopher
|
||||
POSTGRES_PASSWORD: pass
|
||||
ports:
|
||||
- 5432:5432
|
|
@ -19,3 +19,11 @@ sudo apt install redis-server
|
|||
Если вы работаете на другом дистрибутиве linux, воспользуйтесь своим пакетным менеджером.
|
||||
|
||||
Тесты сами запускают `redis` в начале, и останавливают его в конце.
|
||||
|
||||
## Запуск redis в docker
|
||||
|
||||
Комментарии по запуску бд в docker смотрите в задаче [dao](../dao/).
|
||||
|
||||
```
|
||||
(cd shopfront && docker-compose up -d && sleep 1 && env REDIS="localhost:6379" go test -v ./... -count=1 || true && docker-compose down)
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue