You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.5 KiB
38 lines
1.5 KiB
#!/bin/bash
|
|
set -e
|
|
|
|
# Check if the '--dev' argument is provided
|
|
if [ "$1" == "--dev" ]; then
|
|
echo "Run development docker"
|
|
DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 docker compose -f docker-compose.yml up -d --build
|
|
else
|
|
echo "Run Production docker"
|
|
|
|
# در صورت بروز هرگونه خطا، وضعیت FAIL ثبت شود
|
|
trap 'echo "FAIL" > /tmp/dovodi_backend_deploy_status.txt' ERR
|
|
|
|
echo "🧹 [1/4] Pre-build cleanup: freeing up disk space safely..."
|
|
# ۱. پاکسازی کامل تمام کشهای بیلد داکر بدون دست زدن به کانتینرهای فعال
|
|
docker builder prune -a -f 2>/dev/null || true
|
|
|
|
# ۲. پاکسازی ایمیجهای قدیمی و معلق (Dangling)
|
|
docker image prune -f 2>/dev/null || true
|
|
|
|
# ۳. پاکسازی کش پکیجهای سیستمعامل
|
|
apt-get clean 2>/dev/null || true
|
|
|
|
echo "📥 [2/4] Pulling latest backend changes from master..."
|
|
git checkout master
|
|
git fetch origin
|
|
git reset --hard origin/master
|
|
|
|
echo "🚀 [3/4] Building and deploying backend container..."
|
|
DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 docker compose -f docker-compose.prod.yml up -d --build
|
|
|
|
echo "✨ [4/4] Post-build cleanup..."
|
|
# پاکسازی ایمیج قدیمی که بعد از بیلد جدید معلق شده است
|
|
docker image prune -f 2>/dev/null || true
|
|
|
|
echo "SUCCESS" > /tmp/dovodi_backend_deploy_status.txt
|
|
echo "🎉 Dovodi Backend build and deployment finished successfully!"
|
|
fi
|