diff --git a/DEPLOY_INSTRUCTIONS.md b/DEPLOY_INSTRUCTIONS.md index ced54ec..76f84cc 100644 --- a/DEPLOY_INSTRUCTIONS.md +++ b/DEPLOY_INSTRUCTIONS.md @@ -8,21 +8,19 @@ Для работы используются следующие параметры: - **Хост**: kpa39l.myjino.ru -- **Порт SSH**: 2222 +- **Порт SFTP**: 2222 - **Пользователь**: kpa39l_dedinit - **Пароль**: -Zp4ep747t25 -- **Целевой путь**: /domains/dedinit.ru +- **Целевой путь**: /dedinit.ru (относительно домашнего каталога пользователя) ## Установка зависимостей ### Для Linux/macOS: -- **rsync** - обычно предустановлен в большинстве систем -- **SSH-клиент** - для подключения к серверу +- **rsync** - установите через менеджер пакетов (например, apt-get install rsync или brew install rsync) - **Make** - для выполнения команд из Makefile ### Для Windows: - **WinSCP** - установите с официального сайта (https://winscp.net/) -- **PowerShell** - предустановлен в Windows 7 и выше - **Make** - можно установить через Chocolatey, MinGW или Git for Windows ## Использование Makefile @@ -39,7 +37,7 @@ make deploy ``` Команда сначала собирает сайт, затем загружает содержимое папки `public/` на удаленный сервер. -Для Windows используется PowerShell-скрипт с WinSCP, для Unix-подобных систем - rsync. +Для Windows используется WinSCP.com для SFTP-подключения, для Unix-подобных систем - rsync. ### Симуляция деплоя ```bash @@ -71,27 +69,14 @@ make help Параметры подключения находятся в файле Makefile: - HOST - адрес сервера -- PORT - порт SSH +- PORT - порт SFTP - USERNAME - имя пользователя -- REMOTE_PATH - путь на удаленном сервере +- REMOTE_PATH - путь на удаленном сервере (относительно домашнего каталога пользователя) При необходимости вы можете изменить эти параметры в файле Makefile. ## Настройка для Windows Для корректной работы на Windows необходимо: -1. Установить WinSCP с официального сайта -2. По умолчанию скрипт ищет WinSCP в "C:\Program Files (x86)\WinSCP\WinSCP.exe", если у вас другой путь, измените его в файле deploy.ps1 - -## Настройка SSH (для Unix-подобных систем) - -Для удобства рекомендуется настроить SSH-ключи для подключения к серверу. Также можно настроить подключение через SSH config, добавив в ~/.ssh/config: - -``` -Host myjino - HostName kpa39l.myjino.ru - Port 2222 - User kpa39l_dedinit -``` - -После такой настройки можно будет использовать сокращенное имя хоста. \ No newline at end of file +1. Убедиться, что WinSCP установлен в стандартную директорию `C:\Program Files (x86)\WinSCP\` +2. Файл `winscp_script.txt` содержит команды для подключения и синхронизации файлов diff --git a/Makefile b/Makefile index f2b4597..40c1ae6 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,18 @@ # Определяем операционную систему ifeq ($(OS),Windows_NT) PLATFORM = Windows - # На Windows используем PowerShell-скрипт - DEPLOY_CMD = powershell -ExecutionPolicy Bypass -File ../deploy.ps1 - DRYRUN_CMD = powershell -ExecutionPolicy Bypass -File ../deploy.ps1 + # На 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 + # На Unix-подобных системах используем rsync для SFTP HOST = kpa39l.myjino.ru PORT = 2222 USERNAME = kpa39l_dedinit - REMOTE_PATH = /domains/dedinit.ru + REMOTE_PATH = /dedinit.ru endif - .PHONY: build deploy deploy-dry-run clean rebuild help build: @@ -28,12 +28,11 @@ endif deploy-dry-run: build ifeq ($(PLATFORM),Windows) - @echo "Для Windows симуляция деплоя пока не реализована." - @echo "Для реального деплоя используйте команду: make deploy" + @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\ diff --git a/README.md b/README.md index 37835dd..37d0f70 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ Для автоматизации процесса деплоя созданы специальные файлы: - `Makefile` - содержит команды для сборки и публикации сайта на хостинге (работает как на Unix-подобных системах, так и на Windows) -- `deploy.ps1` - PowerShell-скрипт для деплоя на Windows с использованием WinSCP +- `winscp_script.txt` - скрипт для WinSCP с командами подключения и синхронизации - `DEPLOY_INSTRUCTIONS.md` - инструкция по использованию команд деплоя Для публикации сайта на хостинге используйте команду: @@ -65,4 +65,5 @@ make deploy make help ``` -Процесс деплоя кроссплатформенный: на Unix-подобных системах используется rsync, на Windows - PowerShell-скрипт с WinSCP. \ No newline at end of file +Процесс деплоя кроссплатформенный: на Unix-подобных системах используется rsync, на Windows - WinSCP.com для SFTP-подключения. +------- \ No newline at end of file diff --git a/deploy.ps1 b/deploy.ps1 deleted file mode 100644 index 653a4a4..0000000 --- a/deploy.ps1 +++ /dev/null @@ -1,55 +0,0 @@ -# PowerShell-скрипт для деплоя сайта через SFTP -# Параметры подключения к серверу -$HOST = "kpa39l.myjino.ru" -$PORT = "2222" -$USERNAME = "kpa39l_dedinit" -$REMOTE_PATH = "/domains/dedinit.ru" -$LOCAL_PATH = "public" - -# Путь к исполняемому файлу WinSCP -$WINSCP_PATH = "C:\Program Files (x86)\WinSCP\WinSCP.exe" - -# Проверяем, установлен ли WinSCP -if (-Not (Test-Path $WINSCP_PATH)) { - Write-Host "WinSCP не найден по пути $WINSCP_PATH" - Write-Host "Пожалуйста, установите WinSCP или укажите правильный путь к исполняемому файлу" - exit 1 -} - -# Проверяем, существует ли локальная папка -if (-Not (Test-Path $LOCAL_PATH)) { - Write-Host "Локальная папка $LOCAL_PATH не существует" - exit 1 -} - -# Создаем временный скрипт для WinSCP -$TEMP_SCRIPT = [System.IO.Path]::GetTempFileName() -$TEMP_SCRIPT += ".txt" - -# Формируем команды для WinSCP -$SCRIPT_CONTENT = @" -open sftp://${USERNAME}@${HOST}:${PORT} -hostkey=""*"" -rawsettings Password=-Zp4ep747t25 -synchronize remote ${LOCAL_PATH}/ ${REMOTE_PATH}/ -delete -transfer=binary -close -exit -"@ - -# Записываем команды в временный файл -Set-Content -Path $TEMP_SCRIPT -Value $SCRIPT_CONTENT - -try { - # Выполняем команды через WinSCP - Write-Host "Начинаем деплой содержимого папки ${LOCAL_PATH} на сервер ${HOST}..." - Start-Process -FilePath $WINSCP_PATH -ArgumentList "/script=$TEMP_SCRIPT" -Wait -NoNewWindow - Write-Host "Деплой завершен успешно!" -} -catch { - Write-Host "Произошла ошибка при деплое: $_" - exit 1 -} -finally { - # Удаляем временный файл - if (Test-Path $TEMP_SCRIPT) { - Remove-Item $TEMP_SCRIPT - } -} \ No newline at end of file diff --git a/hugo.toml b/hugo.toml index d22d9a8..4013181 100644 --- a/hugo.toml +++ b/hugo.toml @@ -1,6 +1,6 @@ baseURL = 'https://dedinit.ru/' languageCode = 'ru-ru' -title = 'dedinit.ru' +title = 'dedinit()' theme = 'PaperMod' # Включаем bundle хранение статей @@ -10,9 +10,9 @@ preserveTaxonomyNames = true [params] env = "production" title = "dedinit.ru" - description = "Блог о программировании и технологиях" - keywords = ["блог", "программирование", "технологии"] - author = "Author" + description = "Блог об разных -OPS-ах, немного -измах, цифровой среде и моём месте в ней. Где-то наивно, где-то вторично, где-то несуразно, но всегда от души!" + keywords = ["блог", "программирование", "mlops", "devops", "sysops", "linux", "ci/cd", "технологии"] + author = "Кразя" # Настройки PaperMod defaultTheme = "auto" diff --git a/winscp_script.txt b/winscp_script.txt new file mode 100644 index 0000000..bba4fb3 --- /dev/null +++ b/winscp_script.txt @@ -0,0 +1,4 @@ +open sftp://kpa39l_dedinit:-Zp4ep747t25@kpa39l.myjino.ru:2222/ +synchronize remote public/ /dedinit.ru/ -delete -transfer=binary +close +exit \ No newline at end of file