54 lines
1.8 KiB
Makefile
54 lines
1.8 KiB
Makefile
# Определяем операционную систему
|
|
ifeq ($(OS),Windows_NT)
|
|
PLATFORM = Windows
|
|
# На Windows используем PowerShell-скрипт
|
|
DEPLOY_CMD = powershell -ExecutionPolicy Bypass -File ../deploy.ps1
|
|
DRYRUN_CMD = powershell -ExecutionPolicy Bypass -File ../deploy.ps1
|
|
else
|
|
PLATFORM = Unix
|
|
# На Unix-подобных системах используем rsync
|
|
HOST = kpa39l.myjino.ru
|
|
PORT = 2222
|
|
USERNAME = kpa39l_dedinit
|
|
REMOTE_PATH = /domains/dedinit.ru
|
|
endif
|
|
|
|
.PHONY: build deploy deploy-dry-run clean rebuild help
|
|
|
|
build:
|
|
hugo --minify
|
|
@echo "Сайт успешно собран в папку public/"
|
|
|
|
deploy: build
|
|
ifeq ($(PLATFORM),Windows)
|
|
$(DEPLOY_CMD)
|
|
else
|
|
rsync -avz --delete -e 'ssh -p $(PORT)' public/ $(USERNAME)@$(HOST):$(REMOTE_PATH)/
|
|
endif
|
|
|
|
deploy-dry-run: build
|
|
ifeq ($(PLATFORM),Windows)
|
|
@echo "Для Windows симуляция деплоя пока не реализована."
|
|
@echo "Для реального деплоя используйте команду: make deploy"
|
|
else
|
|
rsync -avn --delete -e 'ssh -p $(PORT)' public/ $(USERNAME)@$(HOST):$(REMOTE_PATH)/
|
|
endif
|
|
|
|
clean:
|
|
ifeq ($(OS),Windows_NT)
|
|
del /q /s public\
|
|
else
|
|
rm -rf public/
|
|
endif
|
|
@echo "Папка public удалена"
|
|
|
|
rebuild: clean deploy
|
|
|
|
help:
|
|
@echo "Доступные команды:"
|
|
@echo " make build - собрать сайт"
|
|
@echo " make deploy - собрать и задеплоить сайт"
|
|
@echo " make deploy-dry-run - симуляция деплоя"
|
|
@echo " make clean - удалить папку public"
|
|
@echo " make rebuild - полная пересборка сайта"
|
|
@echo " make help - показать это сообщение"
|