Files
dedinit.ru/Makefile
T

53 lines
1.7 KiB
Makefile

# Определяем операционную систему
ifeq ($(OS),Windows_NT)
PLATFORM = Windows
# На Windows используем WinSCP.com для SFTP
WINSCP_PATH = "C:\Program Files (x86)\WinSCP\WinSCP.com"
DEPLOY_CMD = $(WINSCP_PATH) /script=winscp_script.txt
DRYRUN_CMD = echo "Windows: проверка SFTP-соединения..."
else
PLATFORM = Unix
# На Unix-подобных системах используем rsync для SFTP
HOST = kpa39l.myjino.ru
PORT = 2222
USERNAME = kpa39l_dedinit
REMOTE_PATH = /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 "Выполняем проверку соединения с сервером..."
$(DRYRUN_CMD)
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 - показать это сообщение"