some project refactor

feature/docker
Dmitriy Shesterkin 9 years ago
parent d7dfc47fbe
commit 8c61d6ea7f
  1. 39
      DockerMakefile
  2. 78
      Makefile
  3. 31
      README.md
  4. 6
      bin/docker-local-init.sh
  5. 0
      conf/compose/Dockerfile.web.local
  6. 0
      conf/compose/Dockerfile.web.production
  7. 0
      conf/docker/entrypoint.sh
  8. 0
      conf/docker/entrypoint_production.sh
  9. 6
      docker-compose.stage.yml
  10. 6
      docker-compose.yml

@ -1,39 +0,0 @@
.PHONY: all build up run start stop migrate loaddata collectstatic
all: build migrate loaddata
build:
docker-compose build
run:
docker-compose up -d
up:
docker-compose up -d
down:
docker-compose down
start:
docker-compose start
stop:
docker-compose stop
migrate:
docker-compose exec web python src/manage.py migrate myauth
docker-compose exec web python src/manage.py migrate
loaddata:
docker-compose exec web python src/manage.py loaddata src/myauth/fixtures/myauth.json
docker-compose exec web python src/manage.py loaddata src/commons/fixtures/cms.json
docker-compose exec web python src/manage.py loaddata src/commons/fixtures/djangocms_text_ckeditor.json
docker-compose exec web python src/manage.py loaddata src/commons/fixtures/sites.json
docker-compose exec web python src/manage.py loaddata src/customer/fixtures/price.json
docker-compose exec web python src/manage.py loaddata src/docs/fixtures/country.json
docker-compose exec web python src/manage.py loaddata src/docs/fixtures/currency.json
docker-compose exec web python src/manage.py loaddata src/docs/fixtures/measure.json
collectstatic:
docker-compose run web python manage.py collectstatic --noinput

@ -1,47 +1,60 @@
PROJECT_DIR=$(shell pwd)
VENV_DIR?=$(PROJECT_DIR)/env
PIP?=$(VENV_DIR)/bin/pip
PYTHON?=$(VENV_DIR)/bin/python
#.PHONY:
.PHONY: all clean test run requirements install virtualenv copy_settings loaddata
# target: all - Default target. Does nothing.
all:
@clear
@echo "Hello $(LOGNAME), nothing to do by default"
@echo "Try 'make help'"
all: copy_settings virtualenv install create_database loaddata
# target: help - Display callable targets.
help:
@clear
@egrep "^# target:" [Mm]akefile
copy_settings:
cp $(PROJECT_DIR)/project/local_settings.py.skeleton $(PROJECT_DIR)/project/local_settings.py
# target: build - Build all docker containers, defined in docker-compose.yml
build:
docker-compose build
virtualenv:
virtualenv -p python3 $(VENV_DIR) --no-site-packages
# target: build-stage - Build all docker containers, defined in docker-compose.stage.yml
build-stage:
docker-compose build -f docker-compose.stage.yml
install: requirements
# target: virtualenv - Make virtualenv
virtualenv:
virtualenv -p python3 env --no-site-packages
requirements:
$(PIP) install -r $(PROJECT_DIR)/requirements/local.txt
# target: requirements-local - Install requirements for local develop
requirements-local:
$(PIP) install -r requirements/local.txt
# target: loaddata - Load fixtures
loaddata:
$(PYTHON) src/manage.py loaddata $(PROJECT_DIR)/src/myauth/fixtures/myauth.json
$(PYTHON) src/manage.py loaddata $(PROJECT_DIR)/src/commons/fixtures/cms.json
$(PYTHON) src/manage.py loaddata $(PROJECT_DIR)/src/commons/fixtures/djangocms_text_ckeditor.json
$(PYTHON) src/manage.py loaddata $(PROJECT_DIR)/src/commons/fixtures/sites.json
$(PYTHON) src/manage.py loaddata $(PROJECT_DIR)/src/customer/fixtures/price.json
$(PYTHON) src/manage.py loaddata $(PROJECT_DIR)/src/docs/fixtures/country.json
$(PYTHON) src/manage.py loaddata $(PROJECT_DIR)/src/docs/fixtures/currency.json
$(PYTHON) src/manage.py loaddata $(PROJECT_DIR)/src/docs/fixtures/measure.json
create_database:
$(PYTHON) src/manage.py migrate
python src/manage.py loaddata src/myauth/fixtures/myauth.json
python src/manage.py loaddata src/commons/fixtures/cms.json
python src/manage.py loaddata src/commons/fixtures/djangocms_text_ckeditor.json
python src/manage.py loaddata src/commons/fixtures/sites.json
python src/manage.py loaddata src/customer/fixtures/price.json
python src/manage.py loaddata src/docs/fixtures/country.json
python src/manage.py loaddata src/docs/fixtures/currency.json
python src/manage.py loaddata src/docs/fixtures/measure.json
# target: run - Runserver
run:
$(PYTHON) src/manage.py runserver 0.0.0.0:8000
migrations:
$(PYTHON) src/manage.py makemigrations
python src/manage.py runserver 0.0.0.0:8000
# target: migrate - Build all docker containers, defined in docker-compose.stage.yml
migrate:
$(PYTHON) src/manage.py migrate
python src/manage.py migrate myauth
python src/manage.py migrate
# target: shell - Run python shell
shell:
$(PYTHON) src/manage.py shell
python src/manage.py shell
# target: collectstatic - Run collectstatic
collectstatic:
python manage.py collectstatic --noinput
clean_temp:
find . -name '*.pyc' -delete
@ -54,4 +67,5 @@ clean_db:
clean_venv:
rm -rf $(VENV_DIR)
clean: clean_temp clean_venv clean_db
# target: clean - clean all temp files
clean: clean_temp clean_venv clean_db

@ -56,34 +56,3 @@ make run
cd src
celery -A dokumentor worker -l info -E
```
## Установка dev версии с использованиеем docker
Для первого запуска проекта выполните скрипт
```bash
bin/docker-local-init.sh
```
Миграции
```bash
make -f DockerMakefile migrate
```
Далее заполните данными
```bash
make -f DockerMakefile loaddata
```
###Команды для докера
#### Остановка докера
```bash
make -f DockerMakefle stop
```
#### Запуск докера
```bash
make -f DockerMakefle start
```
## Установка production версии

@ -1,6 +0,0 @@
#!/usr/bin/env bash
make -f DockerMakefile build
make -f DockerMakefile up
# fix pause runtime
#make -f DockerMakefile loaddata

@ -24,7 +24,7 @@ services:
restart: always
build:
context: .
dockerfile: compose/Dockerfile.web.local
dockerfile: conf/compose/Dockerfile.web.local
command: bash -c 'cd src && celery -A dokumentor worker -l info -E'
volumes:
- .:/code
@ -49,11 +49,11 @@ services:
restart: always
build:
context: .
dockerfile: compose/Dockerfile.web.local
dockerfile: conf/compose/Dockerfile.web.local
command: bash -c 'python src/manage.py runserver 0.0.0.0:8000'
volumes:
- .:/code
entrypoint: bin/docker-local-entrypoint.sh
entrypoint: conf/docker/entrypoint_production.sh
ports:
- "18001:8000"
env_file: conf/env

@ -25,7 +25,7 @@ services:
restart: always
build:
context: .
dockerfile: compose/Dockerfile.web.local
dockerfile: conf/compose/Dockerfile.web.local
command: bash -c 'cd src && celery -A dokumentor worker -l info -E'
volumes:
- .:/code
@ -50,11 +50,11 @@ services:
restart: always
build:
context: .
dockerfile: compose/Dockerfile.web.local
dockerfile: conf/compose/Dockerfile.web.local
command: bash -c 'python src/manage.py runserver 0.0.0.0:8000'
volumes:
- .:/code
entrypoint: bin/docker-local-entrypoint.sh
entrypoint: conf/docker/entrypoint.sh
ports:
- "8000:8000"
env_file: conf/env

Loading…
Cancel
Save