Compare commits
2 Commits
test
...
4f01c1bec8
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f01c1bec8 | |||
|
|
55711a88ef |
18
.drone.yml
18
.drone.yml
@@ -3,13 +3,27 @@ type: docker
|
|||||||
name: bogazici-api
|
name: bogazici-api
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
|
||||||
- push
|
|
||||||
branch:
|
branch:
|
||||||
|
- develop
|
||||||
- test
|
- test
|
||||||
- main
|
- main
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: laravel-check
|
||||||
|
image: php:8.4-cli
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
- develop
|
||||||
|
commands:
|
||||||
|
- apt-get update && apt-get install -y git unzip curl libzip-dev libicu-dev default-mysql-client
|
||||||
|
- docker-php-ext-install pdo_mysql zip intl
|
||||||
|
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||||
|
- cp .env.example .env || true
|
||||||
|
- composer install --no-interaction --prefer-dist --optimize-autoloader
|
||||||
|
- php artisan key:generate --force || true
|
||||||
|
- php artisan optimize:clear || true
|
||||||
|
- php artisan test || true
|
||||||
|
|
||||||
- name: deploy-test
|
- name: deploy-test
|
||||||
image: appleboy/drone-ssh
|
image: appleboy/drone-ssh
|
||||||
when:
|
when:
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ return Application::configure(basePath: dirname(__DIR__))
|
|||||||
apiPrefix: 'api',
|
apiPrefix: 'api',
|
||||||
)
|
)
|
||||||
->withMiddleware(function (Middleware $middleware): void {
|
->withMiddleware(function (Middleware $middleware): void {
|
||||||
|
$middleware->trustProxies(at: '*');
|
||||||
|
|
||||||
$middleware->statefulApi();
|
$middleware->statefulApi();
|
||||||
|
|
||||||
$middleware->throttleApi('60,1');
|
$middleware->throttleApi('60,1');
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
name: bogazici-api-prod
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
bdc-api-prod:
|
bdc-api-prod:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
|
container_name: bdc-api-prod
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/var/www/html
|
- ./:/var/www/html
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
|
container_name: bdc-api-test
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/var/www/html
|
- ./:/var/www/html
|
||||||
|
|||||||
@@ -15,10 +15,11 @@ cd "$PROJECT_DIR"
|
|||||||
|
|
||||||
git config --global --add safe.directory "$PROJECT_DIR" || true
|
git config --global --add safe.directory "$PROJECT_DIR" || true
|
||||||
|
|
||||||
find storage -type d -exec chmod 2775 {} \; 2>/dev/null || true
|
sudo chown -R "$USER":www-data storage bootstrap/cache 2>/dev/null || true
|
||||||
find storage -type f -exec chmod 664 {} \; 2>/dev/null || true
|
sudo find storage -type d -exec chmod 2775 {} \; 2>/dev/null || true
|
||||||
find bootstrap/cache -type d -exec chmod 2775 {} \; 2>/dev/null || true
|
sudo find storage -type f -exec chmod 664 {} \; 2>/dev/null || true
|
||||||
find bootstrap/cache -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
|
||||||
|
|
||||||
git fetch origin
|
git fetch origin
|
||||||
git checkout "$BRANCH"
|
git checkout "$BRANCH"
|
||||||
@@ -37,29 +38,15 @@ if ! grep -q '^APP_KEY=base64:' .env; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
sudo mkdir -p "$UPLOADS_DIR"/{images,videos,hero-slides,settings,pages,courses,announcements,categories}
|
||||||
mkdir -p "$UPLOADS_DIR"
|
sudo chown -R "$USER":www-data "$UPLOADS_DIR" 2>/dev/null || true
|
||||||
chmod 2775 "$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 rm -f bogazici-api-prod-bdc-api-prod-1 2>/dev/null || true
|
|
||||||
docker rm -f bdc-api-prod 2>/dev/null || true
|
|
||||||
|
|
||||||
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" down --remove-orphans || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" down --remove-orphans || true
|
||||||
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" up -d --build
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" up -d --build
|
||||||
|
|
||||||
echo "⏳ Container hazır olması bekleniyor..."
|
sleep 5
|
||||||
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" 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 optimize:clear
|
||||||
|
|||||||
@@ -37,29 +37,14 @@ if ! grep -q '^APP_KEY=base64:' .env; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p "$UPLOADS_DIR"
|
mkdir -p "$UPLOADS_DIR"/{images,videos,hero-slides,settings,pages,courses,announcements,categories}
|
||||||
chmod 2775 "$UPLOADS_DIR" 2>/dev/null || true
|
find "$UPLOADS_DIR" -type d -exec chmod 2775 {} \; 2>/dev/null || true
|
||||||
|
find "$UPLOADS_DIR" -type f -exec chmod 664 {} \; 2>/dev/null || true
|
||||||
docker rm -f bogazici-api-test-bdc-api-test-1 2>/dev/null || true
|
|
||||||
docker rm -f bdc-api-test 2>/dev/null || true
|
|
||||||
|
|
||||||
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" down --remove-orphans || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" down --remove-orphans || true
|
||||||
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" up -d --build
|
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" 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 optimize:clear
|
||||||
|
|||||||
Reference in New Issue
Block a user