-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
31 lines (27 loc) · 1.07 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
.PHONY: deploy watch clean touch
project=node-slides
path=/var/www/node-slides
instance=\033[36;01m${project}\033[m
all: watch
deploy: serverA = sawyer@wwt-virt-util-web25
deploy: serverB = sawyer@wwt-virt-util-web26
deploy:
@coffee -c app.coffee
@rsync -az --exclude=".git" --delete --delete-excluded * ${serverA}:${path}
@rsync -az --exclude=".git" --delete --delete-excluded * ${serverB}:${path}
@echo -e " ${instance} | synced files with servers"
@ssh ${serverA} "sudo initctl reload-configuration"
@ssh ${serverB} "sudo initctl reload-configuration"
@echo -e " ${instance} | reloaded configuration on servers"
@-ssh ${serverA} "sudo stop ${project}"
@ssh ${serverA} "sudo start ${project}"
@-ssh ${serverB} "sudo stop ${project}"
@ssh ${serverB} "sudo start ${project}"
@echo -e " ${instance} | restarted apps on servers"
@make -s clean
watch:
@if ! which supervisor > /dev/null; then echo "supervisor required, installing..."; sudo npm install -g supervisor; fi
@supervisor -w assets,views,app.coffee app.coffee
clean:
@rm app.js
@echo -e " ${instance} | cleaned"