# Установка на сервер
Все .sh
скрипты находятся в директории Scripts/
Для публикации на сервере необходимо выполнить следующие действия:
- Запустить скрипт
build.sh
. - Подготовить параметры скрипта
publi.sh
переименовавPUBLISH.template
вPUBLISH
и отредактировать настройки в файле. - Запустить скрипт
publi.sh
.
# Создание сборки
# Скрипт build.sh
Скрипт работает из коробки.
После запуска весь проект собирается в директорию build
.
Клиентская часть кладётся в build/wwwroot
.
Для настройки по умолчанию используется файл BUILD
, либо укажите файл с настройками первым аргументом
"build.sh /path/to/BUILD_VARS"
# Настройки скрипта BUILD
PROJECT_NAME="SunEngine"
- имя проекта, используется для вывода в консолиPROJECT_ROOT="auto"
- путь к корневой директории проекта. Значениеauto
: текущая директория или директория выше определяется содержанием в директории файла.SunEngineRoot
.SERVER_PATH="${PROJECT_ROOT}/Server"
- путь к серверной части проекта (DotNet solution)CLIENT_PATH="${PROJECT_ROOT}/Client"
- путь к клиентской части проекта (Quasar project)CONFIG_PATH="${PROJECT_ROOT}/Config"
- путь к директории с конфигурацией проектаBUILD_PATH="${PROJECT_ROOT}/build"
- путь куда будет помещена результирующая сборка проектаNPM_UTIL="yarn"
- установщик npm пакетов (yarn или npm)
# Установка на сервер
# Скрипт publi.sh
Перед запуском необходимо отредактировать параметры в PUBLISH"
файле настроек скрипта.
Скрипт publi.sh
записывает директорию build
на сервер, перезаписывая все файлы, а директорию Config
записывает только если её ещё нет на сервере.
Для настройки по умолчанию используется файл PUBLISH
, либо укажите файл с настройками первым аргументом
"publi.sh /path/to/PUBLISH_VARS"
Для того что бы скрипт смог полностью отработать пользователю username
на сервере (под которым работает скрипт) надо добавить в группы www-data
, systemd-journal
, systemd-network
, systemd-network
, systemd-resolve
. Это можно сделать отредактировав файл /etc/group
.
# Настройки скрипта PUBLISH
PROJECT_NAME="SunEngine Demo"
- имя проекта, используется для вывода в консолиLOCAL_BUILD_PATH="/path/to/local/build"
- путь к директории build проекта, должен соответствоватьBUILD_PATH
из файлаBUILD
REMOTE_USER="username"
- имя пользователя под которым будет производиться коннект к серверуREMOTE_HOST="111.111.111.111"
- IP или домен хоста сервераREMOTE_DIRECTORY="/remote/dir/path"
- путь к директории на сервере куда будет осуществляться загрузкаREMOTE_DIRECTORY_OWNER="www-data"
- пользователь которому принадлежитREMOTE_DIRECTORY
на сервереREMOTE_DIRECTORY_GROUP="www-data"
- группа которой принадлежитREMOTE_DIRECTORY
на сервереREMOTE_SYSTEMD_SERVICE_NAME="demo.sunengine.site"
- имя сервисаsystemd
для перезапуска после загрузки
# Запись файлов конфигурации
После построение build.sh
и публикации publi.sh
, необходимо настроить конфигурацию на сервере отредактировать файлы в директории Config
на сервере, это делается один раз.
Необходимо прописать правильные настройки базы данных в DataBaseConnection.json
Остальные настройки по необходимости.
Директория Config/Init
служит для стартовой инициализации базы данных сайта - команда dotnet SunEngine.dll init migrate
.
# Обновление SunEngine
на сервере до последней версии с репозитория GitHub
# Скрипт: update.sh
Скрипт работает из коробки при условии настроенного publi.sh
скрипта.
Скрипт берёт последнюю версию из мастер ветки репозитория, перезатирая всё что было раньше кроме Config
И последовательно запускает build.sh
и publi.sh
скрипты.
# Настройки скрипта UPDATE
PROJECT_NAME="SunEngine Demo"
- имя проекта, используется для вывода в консолиPROJECT_ROOT="auto"
- путь к корневой директории проекта.
Значениеauto
: текущая директория или директория выше определяется содержанием в директории файла.SunEngineRoot
.BUILD_SCRIPT_PATH="./build.sh"
- путь к скрипту сборкиPUBLISH_SCRIPT_PATH="./publi.sh"
- путь к скрипту публикации