4.8.5: Исправление деплоя на Synology
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m11s
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m11s
This commit is contained in:
@@ -101,28 +101,55 @@ jobs:
|
|||||||
password: ${{ secrets.DEPLOY_PASSWORD }}
|
password: ${{ secrets.DEPLOY_PASSWORD }}
|
||||||
script: |
|
script: |
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
# Расширяем PATH для Synology (при SSH сессии PATH минимальный)
|
||||||
|
export PATH="/usr/local/bin:/usr/syno/bin:$PATH"
|
||||||
|
|
||||||
REGISTRY="dungeonsiege.synology.me/poignatov/play-life"
|
REGISTRY="dungeonsiege.synology.me/poignatov/play-life"
|
||||||
DEPLOY_PATH="/volume1/docker/play-life"
|
DEPLOY_PATH="/volume1/docker/play-life"
|
||||||
|
|
||||||
echo "🚀 Начинаю деплой на production сервер..."
|
echo "🚀 Начинаю деплой на production сервер..."
|
||||||
|
echo "PATH: $PATH"
|
||||||
|
|
||||||
|
# Проверяем наличие docker
|
||||||
|
if ! command -v docker >/dev/null 2>&1; then
|
||||||
|
echo "❌ Docker не найден в PATH!"
|
||||||
|
echo "Пробуем найти docker..."
|
||||||
|
which docker || find /usr -name "docker" -type f 2>/dev/null | head -5
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DOCKER_CMD="docker"
|
||||||
|
|
||||||
|
# Определяем docker-compose (может быть docker compose или docker-compose)
|
||||||
|
if command -v docker-compose >/dev/null 2>&1; then
|
||||||
|
DOCKER_COMPOSE_CMD="docker-compose"
|
||||||
|
elif docker compose version >/dev/null 2>&1; then
|
||||||
|
DOCKER_COMPOSE_CMD="docker compose"
|
||||||
|
else
|
||||||
|
echo "❌ Docker Compose не найден!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Используем: $DOCKER_CMD и $DOCKER_COMPOSE_CMD"
|
||||||
|
|
||||||
# Переходим в директорию проекта
|
# Переходим в директорию проекта
|
||||||
cd $DEPLOY_PATH
|
cd $DEPLOY_PATH
|
||||||
|
|
||||||
# Логинимся в registry
|
# Логинимся в registry
|
||||||
echo "${{ secrets.GIT_TOKEN }}" | docker login dungeonsiege.synology.me -u ${{ secrets.GIT_USERNAME }} --password-stdin
|
echo "${{ secrets.GIT_TOKEN }}" | $DOCKER_CMD login dungeonsiege.synology.me -u ${{ secrets.GIT_USERNAME }} --password-stdin
|
||||||
|
|
||||||
# Обновляем образ
|
# Обновляем образ
|
||||||
echo "📥 Обновляю образ из registry..."
|
echo "📥 Обновляю образ из registry..."
|
||||||
docker pull $REGISTRY:latest
|
$DOCKER_CMD pull $REGISTRY:latest
|
||||||
|
|
||||||
# Перезапускаем контейнеры
|
# Перезапускаем контейнеры
|
||||||
echo "🔄 Перезапускаю контейнеры..."
|
echo "🔄 Перезапускаю контейнеры..."
|
||||||
docker-compose -f docker-compose.prod.yml up -d --force-recreate
|
$DOCKER_COMPOSE_CMD -f docker-compose.prod.yml up -d --force-recreate
|
||||||
|
|
||||||
# Проверяем статус
|
# Проверяем статус
|
||||||
echo "✅ Деплой завершен успешно"
|
echo "✅ Деплой завершен успешно"
|
||||||
docker-compose -f docker-compose.prod.yml ps
|
$DOCKER_COMPOSE_CMD -f docker-compose.prod.yml ps
|
||||||
|
|
||||||
- name: Send Telegram notification (publish success)
|
- name: Send Telegram notification (publish success)
|
||||||
if: success() && steps.version_check.outputs.changed == 'true'
|
if: success() && steps.version_check.outputs.changed == 'true'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "play-life-web",
|
"name": "play-life-web",
|
||||||
"version": "4.8.4",
|
"version": "4.8.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
Reference in New Issue
Block a user