Moved shellscript functionality to an Makefile
This commit is contained in:
84
Makefile
84
Makefile
@@ -1,12 +1,80 @@
|
|||||||
|
ASSESTS=requirements static
|
||||||
|
DEV_REQUIREMENTS=requirements/development.txt
|
||||||
|
DJANGO_SETTINGS_MODULE="kasu.settings"
|
||||||
|
EXCLUDE_FILES=*.pyc
|
||||||
PROJECT_PATH=$(CURDIR)
|
PROJECT_PATH=$(CURDIR)
|
||||||
|
PYTHON=${VENV_PATH}/bin/python3
|
||||||
|
REQUIREMENTS=requirements/base.txt
|
||||||
|
SRC_PATH=${PROJECT_PATH}/src
|
||||||
|
MANAGE_PY=${PYTHON} -Wa ${SRC_PATH}/manage.py
|
||||||
|
SSH_LOGIN=kasu@kasu.at
|
||||||
VENV_PATH=$(PROJECT_PATH)/venv
|
VENV_PATH=$(PROJECT_PATH)/venv
|
||||||
|
|
||||||
|
.PHONY: clean venv
|
||||||
|
|
||||||
.PHONY: venv
|
all: cleanup migrate testserver
|
||||||
venv: ## create venv for this Django Project
|
|
||||||
python3.5 -m venv --clear $(VENV_PATH)
|
venv: $(VENV_PATH)/bin/activate
|
||||||
( \
|
$(VENV_PATH)/bin/activate:
|
||||||
source $(VENV_PATH)/bin/activate; \
|
@test -d $(VENV_PATH) || python3.5 -m venv --clear $(VENV_PATH)
|
||||||
pip --upgrade pip; \
|
|
||||||
pip install -r $(PROJECT_PATH)/requirements/development.txt; \
|
dev-requirements: venv ${DEV_REQUIREMENTS}
|
||||||
)
|
${PYTHON} -m pip install -qU pip
|
||||||
|
${PYTHON} -m pip install -qUr ${DEV_REQUIREMENTS}
|
||||||
|
|
||||||
|
requirements: venv ${REQUIREMENTS}
|
||||||
|
${PYTHON} -m pip install -qU pip
|
||||||
|
${PYTHON} -m pip install -qUr ${REQUIREMENTS}
|
||||||
|
|
||||||
|
grunt:
|
||||||
|
-grunt
|
||||||
|
|
||||||
|
requirements_remote:
|
||||||
|
@echo "Installing requirements"
|
||||||
|
ssh ${SSH_LOGIN} "virtualenv/bin/pip install -qUr ${REQUIREMENTS}"
|
||||||
|
|
||||||
|
sync_assets:
|
||||||
|
@echo "Syncing project assets ..."
|
||||||
|
rsync -qr --copy-links --delete ${ASSESTS} ${SSH_LOGIN}:~/
|
||||||
|
|
||||||
|
sync_src:
|
||||||
|
@echo "Syncing Sourcecode ..."
|
||||||
|
find . -name EXCLUDE_FILES -exec rm -rf {} \;
|
||||||
|
rsync -qr --copy-links --delete ${SRC_PATH} ${SSH_LOGIN}:~/ --exclude 'src/kasu/local_settings.py'
|
||||||
|
|
||||||
|
restart_remote:
|
||||||
|
@echo "Rebuild and reload django..."
|
||||||
|
ssh ${SSH_LOGIN} "~/virtualenv/bin/python ~/src/manage.py collectstatic -l --noinput -v0"
|
||||||
|
ssh ${SSH_LOGIN} "~/init/kasu restart"
|
||||||
|
|
||||||
|
sync: sync_assets requirements_remote sync_src restart_remote
|
||||||
|
|
||||||
|
testserver: venv
|
||||||
|
${MANAGE_PY} runserver 127.0.0.1:8000
|
||||||
|
|
||||||
|
messages: venv
|
||||||
|
@echo "aktualisiere Übersetzungen..."
|
||||||
|
@(for d in ${SRC_PATH}/*; do \
|
||||||
|
test -d $$d/locale && cd $$d && ${VENV_PATH}/bin/django-admin.py makemessages -l de;\
|
||||||
|
done)
|
||||||
|
${MANAGE_PY} compilemessages -v0
|
||||||
|
|
||||||
|
cleanup-pyc:
|
||||||
|
@echo "lösche den Python Compiler Cache..."
|
||||||
|
find ${SRC_PATH} -name ${EXCLUDE_FILES} -exec rm -rf {} \;
|
||||||
|
|
||||||
|
collectstatic: venv
|
||||||
|
@echo "aktualisiere Statics"
|
||||||
|
${MANAGE_PY} collectstatic --noinput -c -v0
|
||||||
|
|
||||||
|
thumbnails: venv
|
||||||
|
@echo "Erstelle Vorschaubilder"
|
||||||
|
${MANAGE_PY} thumbnail_cleanup
|
||||||
|
|
||||||
|
cleanup: requirements messages cleanup-pyc collectstatic thumbnails
|
||||||
|
|
||||||
|
migrate: venv
|
||||||
|
${MANAGE_PY} migrate
|
||||||
|
|
||||||
|
migrations: venv
|
||||||
|
${MANAGE_PY} makemigrations
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
export DJANGO_SETTINGS_MODULE=kasu.settings
|
|
||||||
source venv/bin/activate
|
|
||||||
|
|
||||||
echo "aktualisiere Übersetzungen..."
|
|
||||||
cd src
|
|
||||||
unset DJANGO_SETTINGS_MODULE
|
|
||||||
for dir in *
|
|
||||||
do
|
|
||||||
if [ -d ${dir}/locale ]
|
|
||||||
then
|
|
||||||
echo -n "$dir: "
|
|
||||||
cd ${dir}
|
|
||||||
django-admin.py makemessages -l de
|
|
||||||
cd ..
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
sleep 5s
|
|
||||||
export DJANGO_SETTINGS_MODULE=kasu.settings
|
|
||||||
./manage.py compilemessages
|
|
||||||
echo "lösche den Python Compiler Cache..."
|
|
||||||
find . -name "*.pyc" -exec rm -rf {} \;
|
|
||||||
echo "Aktualisiere Statics"
|
|
||||||
./manage.py collectstatic --noinput -c
|
|
||||||
echo "Erstelle Vorschaubilder"
|
|
||||||
./manage.py thumbnail_cleanup
|
|
||||||
touch kasu/wsgi.py
|
|
||||||
22
bin/sync.sh
22
bin/sync.sh
@@ -1,22 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
SSH_LOGIN="kasu@kasu.at"
|
|
||||||
SYNC_ASSESTS="requirements static"
|
|
||||||
SYNC_SOURCECODE="src"
|
|
||||||
EXCLUDE_FILES="*.pyc"
|
|
||||||
|
|
||||||
grunt
|
|
||||||
|
|
||||||
echo "Syncing project assets ..."
|
|
||||||
rsync -r --copy-links --delete ${SYNC_ASSESTS} ${SSH_LOGIN}:~/
|
|
||||||
|
|
||||||
echo "Installing dependecies"
|
|
||||||
ssh ${SSH_LOGIN} "virtualenv/bin/pip install --upgrade -r requirements/base.txt"
|
|
||||||
|
|
||||||
echo "Syncing Sourcecode ..."
|
|
||||||
find . -name "*.pyc" -exec rm -rf {} \;
|
|
||||||
rsync -r --copy-links --delete ${SYNC_SOURCECODE} ${SSH_LOGIN}:~/ --exclude 'src/kasu/local_settings.py'
|
|
||||||
|
|
||||||
echo "Rebuild and reload django..."
|
|
||||||
ssh ${SSH_LOGIN} "rm src/kasu/settings/development.*"
|
|
||||||
ssh ${SSH_LOGIN} "~/virtualenv/bin/python ~/src/manage.py collectstatic -l --noinput -v1"
|
|
||||||
ssh ${SSH_LOGIN} "~/init/kasu restart"
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
export DJANGO_SETTINGS_MODULE=kasu.settings
|
|
||||||
source venv/bin/activate
|
|
||||||
./manage.py runserver 0.0.0.0:8000
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user