Update deployment configuration and documentation

This commit is contained in:
2026-02-01 23:08:32 +03:00
parent 3a45647daa
commit 9ee9350a97
6 changed files with 27 additions and 93 deletions
+8 -23
View File
@@ -8,21 +8,19 @@
Для работы используются следующие параметры: Для работы используются следующие параметры:
- **Хост**: kpa39l.myjino.ru - **Хост**: kpa39l.myjino.ru
- **Порт SSH**: 2222 - **Порт SFTP**: 2222
- **Пользователь**: kpa39l_dedinit - **Пользователь**: kpa39l_dedinit
- **Пароль**: -Zp4ep747t25 - **Пароль**: -Zp4ep747t25
- **Целевой путь**: /domains/dedinit.ru - **Целевой путь**: /dedinit.ru (относительно домашнего каталога пользователя)
## Установка зависимостей ## Установка зависимостей
### Для Linux/macOS: ### Для Linux/macOS:
- **rsync** - обычно предустановлен в большинстве систем - **rsync** - установите через менеджер пакетов (например, apt-get install rsync или brew install rsync)
- **SSH-клиент** - для подключения к серверу
- **Make** - для выполнения команд из Makefile - **Make** - для выполнения команд из Makefile
### Для Windows: ### Для Windows:
- **WinSCP** - установите с официального сайта (https://winscp.net/) - **WinSCP** - установите с официального сайта (https://winscp.net/)
- **PowerShell** - предустановлен в Windows 7 и выше
- **Make** - можно установить через Chocolatey, MinGW или Git for Windows - **Make** - можно установить через Chocolatey, MinGW или Git for Windows
## Использование Makefile ## Использование Makefile
@@ -39,7 +37,7 @@ make deploy
``` ```
Команда сначала собирает сайт, затем загружает содержимое папки `public/` на удаленный сервер. Команда сначала собирает сайт, затем загружает содержимое папки `public/` на удаленный сервер.
Для Windows используется PowerShell-скрипт с WinSCP, для Unix-подобных систем - rsync. Для Windows используется WinSCP.com для SFTP-подключения, для Unix-подобных систем - rsync.
### Симуляция деплоя ### Симуляция деплоя
```bash ```bash
@@ -71,27 +69,14 @@ make help
Параметры подключения находятся в файле Makefile: Параметры подключения находятся в файле Makefile:
- HOST - адрес сервера - HOST - адрес сервера
- PORT - порт SSH - PORT - порт SFTP
- USERNAME - имя пользователя - USERNAME - имя пользователя
- REMOTE_PATH - путь на удаленном сервере - REMOTE_PATH - путь на удаленном сервере (относительно домашнего каталога пользователя)
При необходимости вы можете изменить эти параметры в файле Makefile. При необходимости вы можете изменить эти параметры в файле Makefile.
## Настройка для Windows ## Настройка для Windows
Для корректной работы на Windows необходимо: Для корректной работы на Windows необходимо:
1. Установить WinSCP с официального сайта 1. Убедиться, что WinSCP установлен в стандартную директорию `C:\Program Files (x86)\WinSCP\`
2. По умолчанию скрипт ищет WinSCP в "C:\Program Files (x86)\WinSCP\WinSCP.exe", если у вас другой путь, измените его в файле deploy.ps1 2. Файл `winscp_script.txt` содержит команды для подключения и синхронизации файлов
## Настройка SSH (для Unix-подобных систем)
Для удобства рекомендуется настроить SSH-ключи для подключения к серверу. Также можно настроить подключение через SSH config, добавив в ~/.ssh/config:
```
Host myjino
HostName kpa39l.myjino.ru
Port 2222
User kpa39l_dedinit
```
После такой настройки можно будет использовать сокращенное имя хоста.
+8 -9
View File
@@ -1,18 +1,18 @@
# Определяем операционную систему # Определяем операционную систему
ifeq ($(OS),Windows_NT) ifeq ($(OS),Windows_NT)
PLATFORM = Windows PLATFORM = Windows
# На Windows используем PowerShell-скрипт # На Windows используем WinSCP.com для SFTP
DEPLOY_CMD = powershell -ExecutionPolicy Bypass -File ../deploy.ps1 WINSCP_PATH = "C:\Program Files (x86)\WinSCP\WinSCP.com"
DRYRUN_CMD = powershell -ExecutionPolicy Bypass -File ../deploy.ps1 DEPLOY_CMD = $(WINSCP_PATH) /script=winscp_script.txt
DRYRUN_CMD = echo "Windows: проверка SFTP-соединения..."
else else
PLATFORM = Unix PLATFORM = Unix
# На Unix-подобных системах используем rsync # На Unix-подобных системах используем rsync для SFTP
HOST = kpa39l.myjino.ru HOST = kpa39l.myjino.ru
PORT = 2222 PORT = 2222
USERNAME = kpa39l_dedinit USERNAME = kpa39l_dedinit
REMOTE_PATH = /domains/dedinit.ru REMOTE_PATH = /dedinit.ru
endif endif
.PHONY: build deploy deploy-dry-run clean rebuild help .PHONY: build deploy deploy-dry-run clean rebuild help
build: build:
@@ -28,12 +28,11 @@ endif
deploy-dry-run: build deploy-dry-run: build
ifeq ($(PLATFORM),Windows) ifeq ($(PLATFORM),Windows)
@echo "Для Windows симуляция деплоя пока не реализована." @echo "Выполняем проверку соединения с сервером..."
@echo "Для реального деплоя используйте команду: make deploy" $(DRYRUN_CMD)
else else
rsync -avn --delete -e 'ssh -p $(PORT)' public/ $(USERNAME)@$(HOST):$(REMOTE_PATH)/ rsync -avn --delete -e 'ssh -p $(PORT)' public/ $(USERNAME)@$(HOST):$(REMOTE_PATH)/
endif endif
clean: clean:
ifeq ($(OS),Windows_NT) ifeq ($(OS),Windows_NT)
del /q /s public\ del /q /s public\
+3 -2
View File
@@ -52,7 +52,7 @@
Для автоматизации процесса деплоя созданы специальные файлы: Для автоматизации процесса деплоя созданы специальные файлы:
- `Makefile` - содержит команды для сборки и публикации сайта на хостинге (работает как на Unix-подобных системах, так и на Windows) - `Makefile` - содержит команды для сборки и публикации сайта на хостинге (работает как на Unix-подобных системах, так и на Windows)
- `deploy.ps1` - PowerShell-скрипт для деплоя на Windows с использованием WinSCP - `winscp_script.txt` - скрипт для WinSCP с командами подключения и синхронизации
- `DEPLOY_INSTRUCTIONS.md` - инструкция по использованию команд деплоя - `DEPLOY_INSTRUCTIONS.md` - инструкция по использованию команд деплоя
Для публикации сайта на хостинге используйте команду: Для публикации сайта на хостинге используйте команду:
@@ -65,4 +65,5 @@ make deploy
make help make help
``` ```
Процесс деплоя кроссплатформенный: на Unix-подобных системах используется rsync, на Windows - PowerShell-скрипт с WinSCP. Процесс деплоя кроссплатформенный: на Unix-подобных системах используется rsync, на Windows - WinSCP.com для SFTP-подключения.
-------
-55
View File
@@ -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
}
}
+4 -4
View File
@@ -1,6 +1,6 @@
baseURL = 'https://dedinit.ru/' baseURL = 'https://dedinit.ru/'
languageCode = 'ru-ru' languageCode = 'ru-ru'
title = 'dedinit.ru' title = 'dedinit()'
theme = 'PaperMod' theme = 'PaperMod'
# Включаем bundle хранение статей # Включаем bundle хранение статей
@@ -10,9 +10,9 @@ preserveTaxonomyNames = true
[params] [params]
env = "production" env = "production"
title = "dedinit.ru" title = "dedinit.ru"
description = "Блог о программировании и технологиях" description = "Блог об разных -OPS-ах, немного -измах, цифровой среде и моём месте в ней. Где-то наивно, где-то вторично, где-то несуразно, но всегда от души!"
keywords = ["блог", "программирование", "технологии"] keywords = ["блог", "программирование", "mlops", "devops", "sysops", "linux", "ci/cd", "технологии"]
author = "Author" author = "Кразя"
# Настройки PaperMod # Настройки PaperMod
defaultTheme = "auto" defaultTheme = "auto"
+4
View File
@@ -0,0 +1,4 @@
open sftp://kpa39l_dedinit:-Zp4ep747t25@kpa39l.myjino.ru:2222/
synchronize remote public/ /dedinit.ru/ -delete -transfer=binary
close
exit