30 lines
925 B
Bash
Executable File
30 lines
925 B
Bash
Executable File
#!/bin/bash
|
||
set -e
|
||
|
||
# Загружаем переменные окружения
|
||
source .env
|
||
|
||
BACKUP_DIR="./backups"
|
||
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
|
||
FILENAME="backup_${TIMESTAMP}.sql"
|
||
|
||
echo "💾 1. Создаём бэкап базы..."
|
||
mkdir -p $BACKUP_DIR
|
||
docker compose exec db mysqldump -u"$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" > "${BACKUP_DIR}/${FILENAME}"
|
||
echo "✅ Бэкап сохранён: ${BACKUP_DIR}/${FILENAME}"
|
||
|
||
echo "📥 2. Получаем обновления из git..."
|
||
git pull
|
||
|
||
echo "🔨 3. Собираем контейнеры..."
|
||
docker compose build
|
||
|
||
echo "⬆ 4. Применяем миграции..."
|
||
docker compose exec django python manage.py migrate
|
||
|
||
echo "🔄 5. Перезапускаем сервисы..."
|
||
docker compose down
|
||
docker compose up -d
|
||
|
||
echo "🎉 Деплой завершён успешно!"
|
||
echo "✅ Все операции выполнены успешно." |