Add deployment files and update README
This commit is contained in:
@@ -0,0 +1,81 @@
|
|||||||
|
# Инструкция по публикации сайта через rsync
|
||||||
|
|
||||||
|
## Описание
|
||||||
|
|
||||||
|
Этот документ описывает процесс публикации сгенерированного сайта (папка `public`) на хостинге через `rsync`.
|
||||||
|
|
||||||
|
## Учетные данные и параметры подключения
|
||||||
|
|
||||||
|
Для работы используются следующие параметры, задаваемые в Makefile:
|
||||||
|
- **Хост**: kpa39l.myjino.ru
|
||||||
|
- **Порт SSH**: 2222
|
||||||
|
- **Пользователь**: kpa39l_dedinit
|
||||||
|
- **Целевой путь**: /domains/dedinit.ru
|
||||||
|
|
||||||
|
## Установка зависимостей
|
||||||
|
|
||||||
|
Для работы скрипта деплоя требуются:
|
||||||
|
1. **rsync** - обычно предустановлен в большинстве Linux-систем, для Windows может потребоваться установка через Git Bash или WSL
|
||||||
|
2. **SSH-клиент** - для подключения к серверу
|
||||||
|
3. **Make** - для выполнения команд из Makefile
|
||||||
|
|
||||||
|
## Использование Makefile
|
||||||
|
|
||||||
|
### Сборка сайта
|
||||||
|
```bash
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
Команда генерирует сайт в папку `public/`.
|
||||||
|
|
||||||
|
### Деплой сайта
|
||||||
|
```bash
|
||||||
|
make deploy
|
||||||
|
```
|
||||||
|
Команда сначала собирает сайт, затем загружает содержимое папки `public/` на удаленный сервер.
|
||||||
|
|
||||||
|
### Симуляция деплоя
|
||||||
|
```bash
|
||||||
|
make deploy-dry-run
|
||||||
|
```
|
||||||
|
Команда сначала собирает сайт, затем симулирует загрузку на сервер без фактического копирования файлов.
|
||||||
|
|
||||||
|
### Очистка
|
||||||
|
```bash
|
||||||
|
make clean
|
||||||
|
```
|
||||||
|
Команда удаляет папку `public/`.
|
||||||
|
|
||||||
|
### Полная пересборка
|
||||||
|
```bash
|
||||||
|
make rebuild
|
||||||
|
```
|
||||||
|
Команда удаляет папку `public/`, затем заново собирает и деплоит сайт.
|
||||||
|
|
||||||
|
### Справка
|
||||||
|
```bash
|
||||||
|
make help
|
||||||
|
```
|
||||||
|
Показывает список доступных команд.
|
||||||
|
|
||||||
|
## Конфигурация
|
||||||
|
|
||||||
|
Все параметры подключения находятся в начале файла Makefile:
|
||||||
|
- HOST - адрес сервера
|
||||||
|
- PORT - порт SSH
|
||||||
|
- USERNAME - имя пользователя
|
||||||
|
- REMOTE_PATH - путь на удаленном сервере
|
||||||
|
|
||||||
|
При необходимости вы можете изменить эти параметры в файле Makefile.
|
||||||
|
|
||||||
|
## Настройка SSH
|
||||||
|
|
||||||
|
Для удобства рекомендуется настроить SSH-ключи для подключения к серверу. Также можно настроить подключение через SSH config, добавив в ~/.ssh/config:
|
||||||
|
|
||||||
|
```
|
||||||
|
Host myjino
|
||||||
|
HostName kpa39l.myjino.ru
|
||||||
|
Port 2222
|
||||||
|
User kpa39l_dedinit
|
||||||
|
```
|
||||||
|
|
||||||
|
После такой настройки можно будет использовать сокращенное имя хоста.
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
.PHONY: build deploy
|
||||||
|
|
||||||
|
# Параметры подключения к серверу
|
||||||
|
HOST = kpa39l.myjino.ru
|
||||||
|
PORT = 2222
|
||||||
|
USERNAME = kpa39l_dedinit
|
||||||
|
REMOTE_PATH = /domains/dedinit.ru
|
||||||
|
|
||||||
|
build:
|
||||||
|
hugo --minify
|
||||||
|
@echo "Сайт успешно собран в папку public/"
|
||||||
|
|
||||||
|
deploy: build
|
||||||
|
rsync -avz --delete -e 'ssh -p $(PORT)' public/ $(USERNAME)@$(HOST):$(REMOTE_PATH)/
|
||||||
|
|
||||||
|
deploy-dry-run: build
|
||||||
|
rsync -avn --delete -e 'ssh -p $(PORT)' public/ $(USERNAME)@$(HOST):$(REMOTE_PATH)/
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf public/
|
||||||
|
@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 - показать это сообщение"
|
||||||
@@ -46,3 +46,20 @@
|
|||||||
|
|
||||||
- `hugo` - генерирует статический сайт в папку `public`
|
- `hugo` - генерирует статический сайт в папку `public`
|
||||||
- `hugo server` - запускает локальный сервер для предварительного просмотра сайта в браузере (обычно доступен по адресу http://localhost:1313)
|
- `hugo server` - запускает локальный сервер для предварительного просмотра сайта в браузере (обычно доступен по адресу http://localhost:1313)
|
||||||
|
|
||||||
|
## Деплой сайта
|
||||||
|
|
||||||
|
Для автоматизации процесса деплоя созданы специальные файлы:
|
||||||
|
|
||||||
|
- `Makefile` - содержит команды для сборки и публикации сайта на хостинге
|
||||||
|
- `DEPLOY_INSTRUCTIONS.md` - инструкция по использованию команд деплоя
|
||||||
|
|
||||||
|
Для публикации сайта на хостинге используйте команду:
|
||||||
|
```
|
||||||
|
make deploy
|
||||||
|
```
|
||||||
|
|
||||||
|
Для получения полного списка доступных команд используйте:
|
||||||
|
```
|
||||||
|
make help
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user