yavsc/Yavsc/Makefile

55 lines
1.5 KiB
Makefile

7 years ago
DESTDIR=/srv/www/yavscpre
PRODDESTDIR=/srv/www/yavsc
7 years ago
HOSTING=localhost
HOSTADMIN=root
7 years ago
include ../versioning.mk
include ../dnx.mk
all: $(BINTARGETPATH)
web: project.lock.json
ASPNET_ENV=$(ASPNET_ENV) dnx web --configuration=$(CONFIGURATION)
status:
ifeq ($(git_status),0)
@echo Nothing to be done.
else
7 years ago
@echo There are pending changes:
@git status
endif
7 years ago
default: pushInPre
publish:
ASPNET_ENV=$(ASPNET_ENV) dnu publish
deploy-pkg: publish
6 years ago
deploy: pushInPre pushInProd
7 years ago
6 years ago
../Yavsc.Server/bin/$(CONFIGURATION)/Yavsc.Server.dll:
make -C ../Yavsc.Server CONFIGURATION=$(CONFIGURATION)
project.json: ../Yavsc.Server/bin/$(CONFIGURATION)/Yavsc.Server.dll
7 years ago
pushInPre: cleanoutput bin/output/wwwroot/version
7 years ago
ssh $(HOSTADMIN)@$(HOSTING) sudo service kestrel-pre stop
ssh $(HOSTADMIN)@$(HOSTING) sudo rm -rf $(DESTDIR)/approot
7 years ago
(cd bin/output && rsync -ravu ./ $(HOSTADMIN)@$(HOSTING):$(DESTDIR) >/dev/null)
7 years ago
ssh $(HOSTADMIN)@$(HOSTING) sudo sync
ssh $(HOSTADMIN)@$(HOSTING) sudo service kestrel-pre start
7 years ago
7 years ago
pushInProd: cleanoutput bin/output/wwwroot/version
ifeq ($(git_status),0)
7 years ago
ssh $(HOSTADMIN)@$(HOSTING) sudo service kestrel stop
ssh $(HOSTADMIN)@$(HOSTING) sudo rm -rf $(PRODDESTDIR)/approot
7 years ago
(cd bin/output && rsync -ravu ./ $(HOSTADMIN)@$(HOSTING):$(PRODDESTDIR) >/dev/null)
7 years ago
ssh $(HOSTADMIN)@$(HOSTING) sudo sync
ssh $(HOSTADMIN)@$(HOSTING) sudo service kestrel start
7 years ago
else
$(error EPRODANDGITSTATUS! Refus de pousser en production: des changements doivent être validés auprès du contrôle de versions.)
7 years ago
git status
7 years ago
endif