f
This commit is contained in:
parent
75d3813f7b
commit
c287d77cf8
1 changed files with 22 additions and 18 deletions
|
|
@ -49,7 +49,7 @@ jobs:
|
|||
|
||||
- name: Obtain Certificates
|
||||
run: |
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
echo "🔐 Checking Let's Encrypt certificates..."
|
||||
|
||||
|
|
@ -113,7 +113,7 @@ jobs:
|
|||
|
||||
- name: Get Dependencies
|
||||
run: |
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
cd ~/mnemo_cards_backend
|
||||
echo "📦 Getting dependencies..."
|
||||
|
|
@ -122,7 +122,7 @@ jobs:
|
|||
|
||||
- name: Compile Server
|
||||
run: |
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
cd ~/mnemo_cards_backend
|
||||
echo "🔨 Compiling server..."
|
||||
|
|
@ -131,7 +131,7 @@ jobs:
|
|||
|
||||
- name: Stop Service
|
||||
run: |
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
echo "🛑 Stopping backend service..."
|
||||
sudo systemctl stop mnemo_cards_server || true
|
||||
|
|
@ -155,7 +155,7 @@ jobs:
|
|||
|
||||
- name: Update Service Configuration
|
||||
run: |
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
cd ~/mnemo_cards_backend
|
||||
echo "⚙️ Updating service configuration..."
|
||||
|
|
@ -165,7 +165,7 @@ jobs:
|
|||
|
||||
- name: Update Executable
|
||||
run: |
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
cd ~/mnemo_cards_backend
|
||||
echo "🔄 Replacing executable..."
|
||||
|
|
@ -175,7 +175,7 @@ jobs:
|
|||
|
||||
- name: Configure Certificates
|
||||
run: |
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
# Check certificates and configure mode
|
||||
# Используем multi-domain сертификат mnemo-cards.online (если есть)
|
||||
|
|
@ -193,7 +193,7 @@ jobs:
|
|||
|
||||
- name: Restart Service
|
||||
run: |
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
echo "🚀 Restarting service..."
|
||||
sudo systemctl daemon-reload
|
||||
|
|
@ -204,7 +204,7 @@ jobs:
|
|||
|
||||
- name: Ensure Nginx Running
|
||||
run: |
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
echo "🔍 Проверяем статус nginx..."
|
||||
if sudo systemctl is-active --quiet nginx; then
|
||||
|
|
@ -249,7 +249,7 @@ jobs:
|
|||
|
||||
- name: Check Nginx Status
|
||||
run: |
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
echo "🔍 Проверяем статус nginx после деплоя backend..."
|
||||
if sudo systemctl is-active --quiet nginx; then
|
||||
|
|
@ -320,7 +320,7 @@ jobs:
|
|||
- name: Check Nginx Before Web Deploy
|
||||
run: |
|
||||
echo "🔍 Проверяем статус nginx перед деплоем web..."
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
if sudo systemctl is-active --quiet nginx; then
|
||||
echo "✅ nginx работает перед web деплоем"
|
||||
|
|
@ -344,23 +344,27 @@ jobs:
|
|||
- name: Build Web App
|
||||
working-directory: mnemo_cards_web_v2
|
||||
run: |
|
||||
echo "🔍 Проверяем Flutter..."
|
||||
which flutter || echo "Flutter not found in PATH"
|
||||
flutter --version || echo "Flutter command failed"
|
||||
flutter pub get
|
||||
flutter build web --release \
|
||||
echo "📦 Получаем зависимости..."
|
||||
timeout 300 flutter pub get || (echo "❌ Flutter pub get failed" && exit 1)
|
||||
echo "🔨 Собираем веб-приложение..."
|
||||
timeout 600 flutter build web --release \
|
||||
--dart-define=API_BASE_URL=https://api.mnemo-cards.online \
|
||||
--dart2js-optimization=O4
|
||||
--dart2js-optimization=O4 || (echo "❌ Flutter build failed" && exit 1)
|
||||
echo "✅ Сборка завершена"
|
||||
|
||||
- name: Deploy Web App
|
||||
run: |
|
||||
echo "📦 Копируем веб-приложение..."
|
||||
rsync -avz --delete mnemo_cards_web_v2/build/web/ \
|
||||
${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:/var/www/mnemo_cards/
|
||||
timeout 120 rsync -avz --delete mnemo_cards_web_v2/build/web/ \
|
||||
${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:/var/www/mnemo_cards/ || (echo "❌ Rsync failed" && exit 1)
|
||||
echo "✅ Веб-приложение скопировано"
|
||||
|
||||
- name: Fix Permissions and Verify
|
||||
run: |
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
echo "🔧 Исправляем права доступа..."
|
||||
chown -R www-data:www-data /var/www/mnemo_cards
|
||||
|
|
@ -419,7 +423,7 @@ jobs:
|
|||
sleep 10
|
||||
|
||||
echo "🔍 Финальная проверка доступности всех сайтов..."
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH'
|
||||
set -e
|
||||
echo "📊 Статус всех сервисов:"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue