diff --git a/scripts/deploy-prod.sh b/scripts/deploy-prod.sh index 2dda304..41c4df2 100755 --- a/scripts/deploy-prod.sh +++ b/scripts/deploy-prod.sh @@ -6,12 +6,15 @@ ENV_SOURCE="/opt/projects/bogazici/corporate-api/prod/.env.prod" BRANCH="main" CONTAINER="bdc-api-prod" COMPOSE_FILE="docker-compose.prod.yml" +COMPOSE_PROJECT="bogazici-api-prod" UPLOADS_DIR="/opt/projects/bogazici/corporate-api/prod/uploads" echo "🚀 [API] Production deploy başlatılıyor..." 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 @@ -28,7 +31,6 @@ if [ ! -f "$ENV_SOURCE" ]; then exit 1 fi - cp "$ENV_SOURCE" .env if ! grep -q '^APP_KEY=base64:' .env; then @@ -41,18 +43,16 @@ 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 -docker stop "$CONTAINER" 2>/dev/null || true -docker rm "$CONTAINER" 2>/dev/null || true -docker compose -p bogazici-api-prod -f "$COMPOSE_FILE" down --remove-orphans 2>/dev/null || true -docker compose -p bogazici-api-prod -f "$COMPOSE_FILE" up -d --build +docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" down --remove-orphans || true +docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" up -d --build -sleep 3 -docker compose -p bogazici-api-prod -f "$COMPOSE_FILE" exec -T "$CONTAINER" composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev || true -docker compose -p bogazici-api-prod -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan migrate --force || true -docker compose -p bogazici-api-prod -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan optimize:clear || true -docker compose -p bogazici-api-prod -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan config:cache || true -docker compose -p bogazici-api-prod -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan route:cache || true -docker compose -p bogazici-api-prod -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan view:cache || true +sleep 5 + +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 +docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan config:cache +docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan route:cache +docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan view:cache docker image prune -f 2>/dev/null || true diff --git a/scripts/deploy-test.sh b/scripts/deploy-test.sh index 58f2e7a..1bacf63 100755 --- a/scripts/deploy-test.sh +++ b/scripts/deploy-test.sh @@ -6,12 +6,15 @@ ENV_SOURCE="/opt/projects/bogazici/corporate-api/test/.env.test" BRANCH="test" CONTAINER="bdc-api-test" COMPOSE_FILE="docker-compose.test.yml" +COMPOSE_PROJECT="bogazici-api-test" UPLOADS_DIR="/opt/projects/bogazici/corporate-api/test/uploads" echo "🚀 [API] Test deploy başlatılıyor..." 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 @@ -30,7 +33,6 @@ fi cp "$ENV_SOURCE" .env - if ! grep -q '^APP_KEY=base64:' .env; then echo "❌ HATA: APP_KEY eksik veya boş -> $ENV_SOURCE" exit 1 @@ -41,18 +43,16 @@ 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 -docker stop "$CONTAINER" 2>/dev/null || true -docker rm "$CONTAINER" 2>/dev/null || true -docker compose -p bogazici-api-test -f "$COMPOSE_FILE" down --remove-orphans 2>/dev/null || true -docker compose -p bogazici-api-test -f "$COMPOSE_FILE" up -d --build +docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" down --remove-orphans || true +docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" up -d --build -sleep 3 -docker compose -p bogazici-api-test -f "$COMPOSE_FILE" exec -T "$CONTAINER" composer install --no-interaction --prefer-dist --optimize-autoloader || true -docker compose -p bogazici-api-test -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan migrate --force || true -docker compose -p bogazici-api-test -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan optimize:clear || true -docker compose -p bogazici-api-test -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan config:cache || true -docker compose -p bogazici-api-test -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan route:cache || true -docker compose -p bogazici-api-test -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan view:cache || true +sleep 5 + +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 +docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan config:cache +docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan route:cache +docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan view:cache docker image prune -f 2>/dev/null || true