4.8.3: Автодеплой на Synology
Some checks are pending
Build and Push Docker Image / build-and-push (push) Has started running

This commit is contained in:
poignatov
2026-02-02 20:42:26 +03:00
parent 763b13358e
commit f7d340fc70
5 changed files with 551 additions and 2 deletions

View File

@@ -92,6 +92,38 @@ jobs:
Сборка: ✅
Публикация: ⏭️
- name: Deploy to Production Server
if: steps.version_check.outputs.changed == 'true'
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.DEPLOY_HOST }}
username: ${{ secrets.DEPLOY_USER }}
password: ${{ secrets.DEPLOY_PASSWORD }}
script: |
set -e
REGISTRY="dungeonsiege.synology.me/poignatov/play-life"
DEPLOY_PATH="/volume1/docker/play-life"
echo "🚀 Начинаю деплой на production сервер..."
# Переходим в директорию проекта
cd $DEPLOY_PATH
# Логинимся в registry
echo "${{ secrets.GIT_TOKEN }}" | docker login dungeonsiege.synology.me -u ${{ secrets.GIT_USERNAME }} --password-stdin
# Обновляем образ
echo "📥 Обновляю образ из registry..."
docker pull $REGISTRY:latest
# Перезапускаем контейнеры
echo "🔄 Перезапускаю контейнеры..."
docker-compose -f docker-compose.prod.yml up -d --force-recreate
# Проверяем статус
echo "✅ Деплой завершен успешно"
docker-compose -f docker-compose.prod.yml ps
- name: Send Telegram notification (publish success)
if: success() && steps.version_check.outputs.changed == 'true'
uses: appleboy/telegram-action@master
@@ -105,6 +137,22 @@ jobs:
Сборка: ✅
Публикация: ✅
Деплой: ✅
- name: Send Telegram notification (deploy failure)
if: failure() && steps.version_check.outputs.changed == 'true'
uses: appleboy/telegram-action@master
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
format: markdown
message: |
*play-life*
_${{ steps.version_check.outputs.commit_message }}_
Сборка: ✅
Публикация: ✅
Деплой: ❌
- name: Send Telegram notification (failure)
if: failure()