DEPLOY_DIR=/srv/halibut.cworth.org/turbot
export DEPLOY_DIR
DO_NOT_DEPLOY=env .gitignore
-DO_NOT_DELETE=.turbot.env
+DO_NOT_DELETE=.slack-creds.env .gsheets-creds.json .gsheets-token.pickle
help:
@echo "Available targets (in rough order of expected use):"
turbot.wsgi: turbot.wsgi.in Makefile
envsubst < turbot.wsgi.in > turbot.wsgi
-deploy:
- rm -rf .deploy-source
- git clone . .deploy-source
- rm -rf .deploy-source/.git
- make -C .deploy-source turbot.wsgi
- (cd .deploy-source; rsync -avz \
+.PHONY: deploy-flask
+deploy-flask:
+ rm -rf .deploy-flask-source
+ git clone . .deploy-flask-source
+ rm -rf .deploy-flask-source/.git
+ make -C .deploy-flask-source turbot.wsgi
+ (cd .deploy-flask-source; rsync -avz \
$(DO_NOT_DEPLOY:%=--exclude=%) \
- --exclude=$(DO_NOT_DELETE) \
+ $(patsubst %,--exclude %,$(DO_NOT_DELETE)) \
--delete \
--delete-after \
./ $(DEPLOY_HOST):$(DEPLOY_DIR) )
- rm -rf .deploy-source
+ rm -rf .deploy-flask-source
ssh $(DEPLOY_HOST) '(cd $(DEPLOY_DIR); make bootstrap; . env/bin/activate; make reqs)'
+
+.PHONY: deploy-lambda
+deploy-lambda:
+ rm -rf .deploy-lambda-source
+ git clone . .deploy-lambda-source
+ make -C .deploy-lambda-source bootstrap
+ (cd .deploy-lambda-source; . env/bin/activate; make reqs)
+ (cd .deploy-lambda-source/env/lib/python3.8/site-packages; zip -r ../../../../turbot.zip .)
+ (cd .deploy-lambda-source/turbot_lambda; zip ../turbot.zip turbot_lambda.py)
+ (cd .deploy-lambda-source; zip turbot.zip $$(git ls-files -- turbot))
+ (cd .deploy-lambda-source; \
+ aws lambda update-function-code \
+ --profile halibut \
+ --function-name turbot \
+ --zip-file fileb://turbot.zip )
+ rm -rf .deploy-lambda-source
+
+.PHONY: deploy
+deploy: deploy-flask deploy-lambda