diff --git a/scripts/deploy-prod.sh b/scripts/deploy-prod.sh index 41c4df2..d574ac2 100755 --- a/scripts/deploy-prod.sh +++ b/scripts/deploy-prod.sh @@ -15,11 +15,10 @@ cd "$PROJECT_DIR" git config --global --add safe.directory "$PROJECT_DIR" || true -sudo chown -R "$USER":www-data storage bootstrap/cache 2>/dev/null || true -sudo find storage -type d -exec chmod 2775 {} \; 2>/dev/null || true -sudo find storage -type f -exec chmod 664 {} \; 2>/dev/null || true -sudo find bootstrap/cache -type d -exec chmod 2775 {} \; 2>/dev/null || true -sudo find bootstrap/cache -type f -exec chmod 664 {} \; 2>/dev/null || true +find storage -type d -exec chmod 2775 {} \; 2>/dev/null || true +find storage -type f -exec chmod 664 {} \; 2>/dev/null || true +find bootstrap/cache -type d -exec chmod 2775 {} \; 2>/dev/null || true +find bootstrap/cache -type f -exec chmod 664 {} \; 2>/dev/null || true git fetch origin git checkout "$BRANCH" @@ -38,15 +37,25 @@ if ! grep -q '^APP_KEY=base64:' .env; then exit 1 fi -sudo mkdir -p "$UPLOADS_DIR"/{images,videos,hero-slides,settings,pages,courses,announcements,categories} -sudo chown -R "$USER":www-data "$UPLOADS_DIR" 2>/dev/null || true -sudo find "$UPLOADS_DIR" -type d -exec chmod 2775 {} \; 2>/dev/null || true -sudo find "$UPLOADS_DIR" -type f -exec chmod 664 {} \; 2>/dev/null || true +mkdir -p "$UPLOADS_DIR" +chmod 2775 "$UPLOADS_DIR" 2>/dev/null || true docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" down --remove-orphans || true docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" up -d --build -sleep 5 +echo "⏳ Container hazır olması bekleniyor..." +for i in {1..30}; do + if docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" ps --status running | grep -q "$CONTAINER"; then + echo "✅ Container ayakta" + break + fi + if [ "$i" -eq 30 ]; then + echo "❌ HATA: Container zamanında ayağa kalkmadı" + docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" logs --tail=100 + exit 1 + fi + sleep 1 +done docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan optimize:clear diff --git a/scripts/deploy-test.sh b/scripts/deploy-test.sh index c0428db..2d5f98e 100755 --- a/scripts/deploy-test.sh +++ b/scripts/deploy-test.sh @@ -37,14 +37,25 @@ if ! grep -q '^APP_KEY=base64:' .env; then exit 1 fi -mkdir -p "$UPLOADS_DIR"/{images,videos,hero-slides,settings,pages,courses,announcements,categories} -find "$UPLOADS_DIR" -type d -exec chmod 2775 {} \; 2>/dev/null || true -find "$UPLOADS_DIR" -type f -exec chmod 664 {} \; 2>/dev/null || true +mkdir -p "$UPLOADS_DIR" +chmod 2775 "$UPLOADS_DIR" 2>/dev/null || true docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" down --remove-orphans || true docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" up -d --build -sleep 5 +echo "⏳ Container hazır olması bekleniyor..." +for i in {1..30}; do + if docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" ps --status running | grep -q "$CONTAINER"; then + echo "✅ Container ayakta" + break + fi + if [ "$i" -eq 30 ]; then + echo "❌ HATA: Container zamanında ayağa kalkmadı" + docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" logs --tail=100 + exit 1 + fi + sleep 1 +done docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" composer install --no-interaction --prefer-dist --optimize-autoloader docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan optimize:clear