From 6da7925327055b6aa2313ba13fcdb2eab24d047d Mon Sep 17 00:00:00 2001 From: Mark Higham Date: Wed, 11 Nov 2020 18:18:15 +0000 Subject: [PATCH 1/6] restrict running bootstrap commands to first instance - this should speed up deployments --- Procfile | 2 +- scripts/entry.sh | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100755 scripts/entry.sh diff --git a/Procfile b/Procfile index f4d1cba4..3460c906 100644 --- a/Procfile +++ b/Procfile @@ -1,3 +1,3 @@ -web: cd trade_remedies_api && python ./manage.py migrate && python ./manage.py resetsecurity && python ./manage.py adminuser && python ./manage.py loaddata core/fixtures/*.json && python ./manage.py loaddata security/fixtures/*.json && python ./manage.py loaddata organisations/fixtures/*.json && python ./manage.py loaddata cases/fixtures/*.json && python ./manage.py load_sysparams && python ./manage.py s3credentials && python ./manage.py notify_env && python ./manage.py collectstatic --noinput && gunicorn trade_remedies_api.wsgi --bind 0.0.0.0:$API_PORT --config trade_remedies_api/gunicorn.py +web: scripts/entry.sh celery_worker: cd trade_remedies_api && celery -A trade_remedies_api worker -l $CELERY_LOGLEVEL celery_beat: cd trade_remedies_api && celery -A trade_remedies_api beat -l $CELERY_LOGLEVEL diff --git a/scripts/entry.sh b/scripts/entry.sh new file mode 100755 index 00000000..c5ed814c --- /dev/null +++ b/scripts/entry.sh @@ -0,0 +1,6 @@ +#!/bin/sh -e + +[[ "$INSTANCE_INDEX" == 1 ]] && cd trade_remedies_api && python ./manage.py migrate && python ./manage.py resetsecurity && python ./manage.py adminuser && python ./manage.py loaddata core/fixtures/*.json && python ./manage.py loaddata security/fixtures/*.json && python ./manage.py loaddata organisations/fixtures/*.json && python ./manage.py loaddata cases/fixtures/*.json && python ./manage.py load_sysparams && python ./manage.py s3credentials && python ./manage.py notify_env && python ./manage.py collectstatic --noinput + +cd trade_remedies_api && gunicorn trade_remedies_api.wsgi --bind 0.0.0.0:$API_PORT --config trade_remedies_api/gunicorn.py + From 8cef66c06dfd9ce8ef3547fefec90c1caaa5e405 Mon Sep 17 00:00:00 2001 From: Mark Higham Date: Wed, 11 Nov 2020 18:31:52 +0000 Subject: [PATCH 2/6] version patch --- trade_remedies_api/trade_remedies_api/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trade_remedies_api/trade_remedies_api/version.py b/trade_remedies_api/trade_remedies_api/version.py index 3a384fb2..8c118e61 100644 --- a/trade_remedies_api/trade_remedies_api/version.py +++ b/trade_remedies_api/trade_remedies_api/version.py @@ -1 +1 @@ -__version__ = "1.5.4" +__version__ = "1.5.5" From f2037c9d65513705dd3fe1bc41e10667cd1dab97 Mon Sep 17 00:00:00 2001 From: Mark Higham Date: Wed, 11 Nov 2020 18:35:34 +0000 Subject: [PATCH 3/6] INSTANCE_INDEX is zero based --- scripts/entry.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/entry.sh b/scripts/entry.sh index c5ed814c..e9858441 100755 --- a/scripts/entry.sh +++ b/scripts/entry.sh @@ -1,6 +1,6 @@ #!/bin/sh -e -[[ "$INSTANCE_INDEX" == 1 ]] && cd trade_remedies_api && python ./manage.py migrate && python ./manage.py resetsecurity && python ./manage.py adminuser && python ./manage.py loaddata core/fixtures/*.json && python ./manage.py loaddata security/fixtures/*.json && python ./manage.py loaddata organisations/fixtures/*.json && python ./manage.py loaddata cases/fixtures/*.json && python ./manage.py load_sysparams && python ./manage.py s3credentials && python ./manage.py notify_env && python ./manage.py collectstatic --noinput +[[ "$INSTANCE_INDEX" == 0 ]] && cd trade_remedies_api && python ./manage.py migrate && python ./manage.py resetsecurity && python ./manage.py adminuser && python ./manage.py loaddata core/fixtures/*.json && python ./manage.py loaddata security/fixtures/*.json && python ./manage.py loaddata organisations/fixtures/*.json && python ./manage.py loaddata cases/fixtures/*.json && python ./manage.py load_sysparams && python ./manage.py s3credentials && python ./manage.py notify_env && python ./manage.py collectstatic --noinput cd trade_remedies_api && gunicorn trade_remedies_api.wsgi --bind 0.0.0.0:$API_PORT --config trade_remedies_api/gunicorn.py From 3afc83bdf6638958b24bdfdaa467c75e3c799306 Mon Sep 17 00:00:00 2001 From: Mark Higham Date: Wed, 11 Nov 2020 18:49:16 +0000 Subject: [PATCH 4/6] using bash for extended syntax --- scripts/entry.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/entry.sh b/scripts/entry.sh index e9858441..01dc1323 100755 --- a/scripts/entry.sh +++ b/scripts/entry.sh @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/bash -e [[ "$INSTANCE_INDEX" == 0 ]] && cd trade_remedies_api && python ./manage.py migrate && python ./manage.py resetsecurity && python ./manage.py adminuser && python ./manage.py loaddata core/fixtures/*.json && python ./manage.py loaddata security/fixtures/*.json && python ./manage.py loaddata organisations/fixtures/*.json && python ./manage.py loaddata cases/fixtures/*.json && python ./manage.py load_sysparams && python ./manage.py s3credentials && python ./manage.py notify_env && python ./manage.py collectstatic --noinput From 8a3e187fcb96e7e822347199989fda10f8686b6d Mon Sep 17 00:00:00 2001 From: Mark Higham Date: Wed, 11 Nov 2020 18:56:02 +0000 Subject: [PATCH 5/6] make entry.sh more readable --- scripts/entry.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/entry.sh b/scripts/entry.sh index 01dc1323..ab9ca143 100755 --- a/scripts/entry.sh +++ b/scripts/entry.sh @@ -2,5 +2,6 @@ [[ "$INSTANCE_INDEX" == 0 ]] && cd trade_remedies_api && python ./manage.py migrate && python ./manage.py resetsecurity && python ./manage.py adminuser && python ./manage.py loaddata core/fixtures/*.json && python ./manage.py loaddata security/fixtures/*.json && python ./manage.py loaddata organisations/fixtures/*.json && python ./manage.py loaddata cases/fixtures/*.json && python ./manage.py load_sysparams && python ./manage.py s3credentials && python ./manage.py notify_env && python ./manage.py collectstatic --noinput -cd trade_remedies_api && gunicorn trade_remedies_api.wsgi --bind 0.0.0.0:$API_PORT --config trade_remedies_api/gunicorn.py +cd trade_remedies-api +gunicorn trade_remedies_api.wsgi --bind 0.0.0.0:$API_PORT --config trade_remedies_api/gunicorn.py From f5f3a7cf374b73cb7a6237bb18c1eb808924b844 Mon Sep 17 00:00:00 2001 From: Mark Higham Date: Wed, 11 Nov 2020 19:08:25 +0000 Subject: [PATCH 6/6] better formatting for boostrap script with explicit cwd commands --- scripts/entry.sh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/scripts/entry.sh b/scripts/entry.sh index ab9ca143..fa1b3a90 100755 --- a/scripts/entry.sh +++ b/scripts/entry.sh @@ -1,7 +1,20 @@ #!/bin/bash -e -[[ "$INSTANCE_INDEX" == 0 ]] && cd trade_remedies_api && python ./manage.py migrate && python ./manage.py resetsecurity && python ./manage.py adminuser && python ./manage.py loaddata core/fixtures/*.json && python ./manage.py loaddata security/fixtures/*.json && python ./manage.py loaddata organisations/fixtures/*.json && python ./manage.py loaddata cases/fixtures/*.json && python ./manage.py load_sysparams && python ./manage.py s3credentials && python ./manage.py notify_env && python ./manage.py collectstatic --noinput +if [ "$INSTANCE_INDEX" == 0 ]; then + cd ${HOME}/trade_remedies_api + python ./manage.py migrate + python ./manage.py resetsecurity + python ./manage.py adminuser + python ./manage.py loaddata core/fixtures/*.json + python ./manage.py loaddata security/fixtures/*.json + python ./manage.py loaddata organisations/fixtures/*.json + python ./manage.py loaddata cases/fixtures/*.json + python ./manage.py load_sysparams + python ./manage.py s3credentials + python ./manage.py notify_env + python ./manage.py collectstatic --noinput +fi -cd trade_remedies-api +cd ${HOME}/trade_remedies_api gunicorn trade_remedies_api.wsgi --bind 0.0.0.0:$API_PORT --config trade_remedies_api/gunicorn.py