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)
|
||||
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
|
||||
|
||||
.PHONY: clean venv
|
||||
|
||||
.PHONY: venv
|
||||
venv: ## create venv for this Django Project
|
||||
python3.5 -m venv --clear $(VENV_PATH)
|
||||
( \
|
||||
source $(VENV_PATH)/bin/activate; \
|
||||
pip --upgrade pip; \
|
||||
pip install -r $(PROJECT_PATH)/requirements/development.txt; \
|
||||
)
|
||||
all: cleanup migrate testserver
|
||||
|
||||
venv: $(VENV_PATH)/bin/activate
|
||||
$(VENV_PATH)/bin/activate:
|
||||
@test -d $(VENV_PATH) || python3.5 -m venv --clear $(VENV_PATH)
|
||||
|
||||
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