Update deployment configuration and documentation
This commit is contained in:
+8
-23
@@ -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
|
|
||||||
```
|
|
||||||
|
|
||||||
После такой настройки можно будет использовать сокращенное имя хоста.
|
|
||||||
|
|||||||
@@ -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\
|
||||||
|
|||||||
@@ -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
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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"
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
open sftp://kpa39l_dedinit:-Zp4ep747t25@kpa39l.myjino.ru:2222/
|
||||||
|
synchronize remote public/ /dedinit.ru/ -delete -transfer=binary
|
||||||
|
close
|
||||||
|
exit
|
||||||
Reference in New Issue
Block a user