diff --git a/Makefile b/Makefile index 5b6d4fa..7abd22b 100644 --- a/Makefile +++ b/Makefile @@ -10,6 +10,11 @@ venv_prod: requirements/prod.txt virtualenv --python=python3 $(VAR_DIR)/venv_prod source $(VAR_DIR)/venv_prod/bin/activate && \ pip3 install -r ./requirements/prod.txt | tee install.log + +venv_dev: requirements/dev.txt + virtualenv --python=python3 $(VAR_DIR)/venv_dev + source $(VAR_DIR)/venv_dev/bin/activate && \ + pip3 install -r ./requirements/dev.txt | tee install.log ################################### test: diff --git a/README.md b/README.md index 0655b23..10ff200 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,55 @@ repoapi -=========== - -interface to manage our debian repositories metadata +======= +interface to manage our Debian repositories metadata. go away! This is on pre-alpha^4 development stage. +Run docker containers +--------------------- + + $ docker run --rm --hostname repoapi-rabbit --name repoapi-rabbit rabbitmq:3 + $ docker run --rm -i -t --link repoapi-rabbit:rabbit -v $(pwd):/code:rw docker.mgm.sipwise.com/repoapi-stretch:latest bash + +Prepare development environment +=============================== -Devel environment -================= -$ make venv_dev -$ source ./venv_dev/bin/activate +Inside the repoapi-stretch container run: + + $ export VAR_DIR=/tmp/repoapi + $ make venv_dev + $ source ${VAR_DIR}/venv_dev/bin/activate Create DB ========= -(repoapi)$ ./manage.py migrate + +To ensure `db.sqlite3` exists as needed: + + (repoapi)$ ./manage.py migrate --settings="repoapi.settings.dev" Create superuser ================ -(repoapi)$ ./manage.py createsuperuser + + (repoapi)$ ./manage.py createsuperuser --settings="repoapi.settings.dev" Run test server ================ -(repoapi)$ ./manage.py runserver_plus + +If you want to run it on a specific IP, use: + + (repoapi)$ IP=172.17.0.3 # adjust as needed + (repoapi)$ ./manage.py runserver_plus $IP:8000 --settings="repoapi.settings.dev" + +or just: + + (repoapi)$ make run_dev Tests ===== -(repoapi)$ ./manage.py test + + (repoapi)$ ./manage.py test Reports ======= -(repoapi)$ ./manage.py jenkins + + (repoapi)$ ./manage.py jenkins diff --git a/repoapi/settings/dev.py b/repoapi/settings/dev.py index ebf0667..f1e70f9 100644 --- a/repoapi/settings/dev.py +++ b/repoapi/settings/dev.py @@ -19,6 +19,9 @@ import os # pylint: disable=W0401,W0614,C0413 from .test import * +# avoid having to hardcode an IP address +from socket import gethostname, gethostbyname + LOGGING['loggers']['release_dashboard']['level'] = \ os.getenv('DJANGO_LOG_LEVEL', 'DEBUG') @@ -30,3 +33,8 @@ BROKER_BACKEND = 'amqp' CELERY_ALWAYS_EAGER = False BROKER_URL = 'amqp://guest:guest@rabbit' JBI_BASEDIR = os.path.join(BASE_DIR, 'jbi_files') + +# Enable access when not accessing from localhost: +ALLOWED_HOSTS = [gethostname(), gethostbyname(gethostname()), ] +# or to manually override: +# ALLOWED_HOSTS = ['172.17.0.3'] diff --git a/requirements/test.txt b/requirements/test.txt index 302659e..47ca3b3 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -2,6 +2,6 @@ django-jenkins==0.19 flake8==2.6 pep8 -pylint +pylint==1.9.3 coverage mock diff --git a/t/Dockerfile b/t/Dockerfile index 87867b1..c935fdb 100644 --- a/t/Dockerfile +++ b/t/Dockerfile @@ -5,11 +5,11 @@ FROM docker.mgm.sipwise.com/sipwise-stretch:latest # is updated with the current date. It will force refresh of all # of the base images and things like `apt-get update` won't be using # old cached versions when the Dockerfile is built. -ENV REFRESHED_AT 2017-07-21 +ENV REFRESHED_AT 2018-10-26 RUN apt-get update RUN apt-get install --assume-yes python3 python3-dev \ - python3-pip git screen + python3-pip python3-virtualenv virtualenv sqlite3 git screen # Get pip to download and install requirements: ADD requirements/*.txt /tmp/