Remove Makefile: деплой переведён на прямые команды в workflow
deploy-dedinit / Build & SFTP Deploy (push) Successful in 9m12s
deploy-dedinit / Build & SFTP Deploy (push) Successful in 9m12s
This commit is contained in:
@@ -1,69 +0,0 @@
|
||||
# Определяем операционную систему
|
||||
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 используем paramiko (SFTP). Аккаунт Jino — SFTP-only: rsync/ssh-exec
|
||||
# запрещены ("exec request failed on channel 0"), поэтому deploy через
|
||||
# tools/deploy_sftp.py (рекурсивный mirror + удаление лишнего).
|
||||
# Венв .venv создаётся автоматически таргетом venv (нужен paramiko).
|
||||
DEPLOY_CMD = .venv/bin/python tools/deploy_sftp.py
|
||||
DRYRUN_CMD = .venv/bin/python tools/deploy_sftp.py --dry-run
|
||||
# Пароль берётся из переменной окружения SSHPASS (см. README.md / docs/DEPLOY_INSTRUCTIONS.md)
|
||||
endif
|
||||
.PHONY: build deploy deploy-dry-run clean rebuild help venv
|
||||
|
||||
build:
|
||||
hugo --minify
|
||||
@echo "Сайт успешно собран в папку public/"
|
||||
|
||||
# ЕДИНСТВЕННЫЙ способ деплоя — через make deploy.
|
||||
# Никогда не заменять на rsync/ssh-exec напрямую: на Jino аккаунт SFTP-only.
|
||||
deploy: build venv
|
||||
ifeq ($(PLATFORM),Windows)
|
||||
$(DEPLOY_CMD)
|
||||
else
|
||||
@test -n "$$SSHPASS" || (echo "ОШИБКА: переменная SSHPASS (пароль SFTP) не задана. См. README.md / docs/DEPLOY_INSTRUCTIONS.md"; exit 1)
|
||||
$(DEPLOY_CMD)
|
||||
endif
|
||||
|
||||
deploy-dry-run: build venv
|
||||
ifeq ($(PLATFORM),Windows)
|
||||
@echo "Выполняем проверку соединения с сервером..."
|
||||
$(DRYRUN_CMD)
|
||||
else
|
||||
@test -n "$$SSHPASS" || (echo "ОШИБКА: переменная SSHPASS (пароль SFTP) не задана. См. README.md / docs/DEPLOY_INSTRUCTIONS.md"; exit 1)
|
||||
$(DRYRUN_CMD)
|
||||
endif
|
||||
|
||||
# Создаёт venv с paramiko для Unix-деплоя (единожды)
|
||||
venv:
|
||||
@if [ ! -x .venv/bin/python ]; then \
|
||||
echo "Создаю .venv и ставлю paramiko..."; \
|
||||
python3 -m venv .venv && .venv/bin/pip install -q paramiko; \
|
||||
fi
|
||||
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 - собрать и задеплоить сайт (SFTP через lftp, требуется SSHPASS)"
|
||||
@echo " make deploy-dry-run - симуляция деплоя (требуется SSHPASS)"
|
||||
@echo " make clean - удалить папку public"
|
||||
@echo " make rebuild - полная пересборка сайта"
|
||||
@echo " make help - показать это сообщение"
|
||||
@echo ""
|
||||
@echo "Деплой: export SSHPASS='<пароль SFTP>'; make deploy"
|
||||
@echo "Пароль хранится в docs/DEPLOY_INSTRUCTIONS.md (winscp_script.txt для Windows)."
|
||||
Reference in New Issue
Block a user