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 server` - запускает локальный сервер для предварительного просмотра сайта в браузере (обычно доступен по адресу http://localhost:1313)
|
||||
|
||||
## Деплой сайта
|
||||
|
||||
Для автоматизации процесса деплоя созданы специальные файлы:
|
||||
|
||||
- `Makefile` - содержит команды для сборки и публикации сайта на хостинге
|
||||
- `DEPLOY_INSTRUCTIONS.md` - инструкция по использованию команд деплоя
|
||||
|
||||
Для публикации сайта на хостинге используйте команду:
|
||||
```
|
||||
make deploy
|
||||
```
|
||||
|
||||
Для получения полного списка доступных команд используйте:
|
||||
```
|
||||
make help
|
||||
```
|
||||
Reference in New Issue
Block a user