Merge pull request 'test' (#5) from test into main
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #5
This commit is contained in:
22
.drone.yml
22
.drone.yml
@@ -1,6 +1,6 @@
|
|||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: default
|
name: bogazici-api
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
@@ -15,13 +15,13 @@ steps:
|
|||||||
branch:
|
branch:
|
||||||
- develop
|
- develop
|
||||||
commands:
|
commands:
|
||||||
- apt-get update && apt-get install -y git unzip curl libzip-dev default-mysql-client
|
- apt-get update && apt-get install -y git unzip curl libzip-dev libicu-dev default-mysql-client
|
||||||
- docker-php-ext-install pdo_mysql zip
|
- docker-php-ext-install pdo_mysql zip intl
|
||||||
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||||
- cp .env.example .env || true
|
- cp .env.example .env || true
|
||||||
- composer install --no-interaction --prefer-dist --optimize-autoloader
|
- composer install --no-interaction --prefer-dist --optimize-autoloader
|
||||||
- php artisan key:generate --force || true
|
- php artisan key:generate --force || true
|
||||||
- php artisan config:clear || true
|
- php artisan optimize:clear || true
|
||||||
- php artisan test || true
|
- php artisan test || true
|
||||||
|
|
||||||
- name: deploy-test
|
- name: deploy-test
|
||||||
@@ -31,11 +31,12 @@ steps:
|
|||||||
- test
|
- test
|
||||||
settings:
|
settings:
|
||||||
host:
|
host:
|
||||||
from_secret: server_host
|
from_secret: SERVER_HOST
|
||||||
username:
|
username:
|
||||||
from_secret: server_user
|
from_secret: SERVER_USER
|
||||||
key:
|
key:
|
||||||
from_secret: server_ssh_key
|
from_secret: SERVER_SSH_KEY
|
||||||
|
port: 22
|
||||||
script:
|
script:
|
||||||
- cd /opt/projects/bogazici/corporate-api/test/api
|
- cd /opt/projects/bogazici/corporate-api/test/api
|
||||||
- bash scripts/deploy-test.sh
|
- bash scripts/deploy-test.sh
|
||||||
@@ -47,11 +48,12 @@ steps:
|
|||||||
- main
|
- main
|
||||||
settings:
|
settings:
|
||||||
host:
|
host:
|
||||||
from_secret: server_host
|
from_secret: SERVER_HOST
|
||||||
username:
|
username:
|
||||||
from_secret: server_user
|
from_secret: SERVER_USER
|
||||||
key:
|
key:
|
||||||
from_secret: server_ssh_key
|
from_secret: SERVER_SSH_KEY
|
||||||
|
port: 22
|
||||||
script:
|
script:
|
||||||
- cd /opt/projects/bogazici/corporate-api/prod/api
|
- cd /opt/projects/bogazici/corporate-api/prod/api
|
||||||
- bash scripts/deploy-prod.sh
|
- bash scripts/deploy-prod.sh
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ use App\Repositories\Eloquent\UserRepository;
|
|||||||
use Illuminate\Cache\RateLimiting\Limit;
|
use Illuminate\Cache\RateLimiting\Limit;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\RateLimiter;
|
use Illuminate\Support\Facades\RateLimiter;
|
||||||
|
use Illuminate\Support\Facades\URL;
|
||||||
use Illuminate\Support\ServiceProvider;
|
use Illuminate\Support\ServiceProvider;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
@@ -39,6 +40,8 @@ class AppServiceProvider extends ServiceProvider
|
|||||||
/**
|
/**
|
||||||
* @var array<class-string, class-string>
|
* @var array<class-string, class-string>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
public array $bindings = [
|
public array $bindings = [
|
||||||
CategoryRepositoryInterface::class => CategoryRepository::class,
|
CategoryRepositoryInterface::class => CategoryRepository::class,
|
||||||
CourseRepositoryInterface::class => CourseRepository::class,
|
CourseRepositoryInterface::class => CourseRepository::class,
|
||||||
@@ -68,6 +71,8 @@ class AppServiceProvider extends ServiceProvider
|
|||||||
*/
|
*/
|
||||||
public function boot(): void
|
public function boot(): void
|
||||||
{
|
{
|
||||||
|
URL::forceScheme('https');
|
||||||
|
|
||||||
Str::macro('turkishSlug', function (string $text, string $separator = '-'): string {
|
Str::macro('turkishSlug', function (string $text, string $separator = '-'): string {
|
||||||
$map = [
|
$map = [
|
||||||
'ç' => 'c',
|
'ç' => 'c',
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
name: bogazici-api-test
|
||||||
|
|
||||||
services:
|
services:
|
||||||
bdc-api-test:
|
bdc-api-test:
|
||||||
build:
|
build:
|
||||||
|
|||||||
@@ -6,12 +6,15 @@ ENV_SOURCE="/opt/projects/bogazici/corporate-api/prod/.env.prod"
|
|||||||
BRANCH="main"
|
BRANCH="main"
|
||||||
CONTAINER="bdc-api-prod"
|
CONTAINER="bdc-api-prod"
|
||||||
COMPOSE_FILE="docker-compose.prod.yml"
|
COMPOSE_FILE="docker-compose.prod.yml"
|
||||||
|
COMPOSE_PROJECT="bogazici-api-prod"
|
||||||
UPLOADS_DIR="/opt/projects/bogazici/corporate-api/prod/uploads"
|
UPLOADS_DIR="/opt/projects/bogazici/corporate-api/prod/uploads"
|
||||||
|
|
||||||
echo "🚀 [API] Production deploy başlatılıyor..."
|
echo "🚀 [API] Production deploy başlatılıyor..."
|
||||||
|
|
||||||
cd "$PROJECT_DIR"
|
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 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 d -exec chmod 2775 {} \; 2>/dev/null || true
|
||||||
sudo find storage -type f -exec chmod 664 {} \; 2>/dev/null || true
|
sudo find storage -type f -exec chmod 664 {} \; 2>/dev/null || true
|
||||||
@@ -40,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 d -exec chmod 2775 {} \; 2>/dev/null || true
|
||||||
sudo find "$UPLOADS_DIR" -type f -exec chmod 664 {} \; 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 compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" down --remove-orphans || true
|
||||||
docker rm "$CONTAINER" 2>/dev/null || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" up -d --build
|
||||||
docker compose -f "$COMPOSE_FILE" down --remove-orphans 2>/dev/null || true
|
|
||||||
docker compose -f "$COMPOSE_FILE" up -d --build
|
|
||||||
|
|
||||||
sleep 3
|
sleep 5
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$CONTAINER" composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev || true
|
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan migrate --force || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan optimize:clear || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan optimize:clear
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan config:cache || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan config:cache
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan route:cache || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan route:cache
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan view:cache || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan view:cache
|
||||||
|
|
||||||
docker image prune -f 2>/dev/null || true
|
docker image prune -f 2>/dev/null || true
|
||||||
|
|
||||||
|
|||||||
@@ -6,17 +6,19 @@ ENV_SOURCE="/opt/projects/bogazici/corporate-api/test/.env.test"
|
|||||||
BRANCH="test"
|
BRANCH="test"
|
||||||
CONTAINER="bdc-api-test"
|
CONTAINER="bdc-api-test"
|
||||||
COMPOSE_FILE="docker-compose.test.yml"
|
COMPOSE_FILE="docker-compose.test.yml"
|
||||||
|
COMPOSE_PROJECT="bogazici-api-test"
|
||||||
UPLOADS_DIR="/opt/projects/bogazici/corporate-api/test/uploads"
|
UPLOADS_DIR="/opt/projects/bogazici/corporate-api/test/uploads"
|
||||||
|
|
||||||
echo "🚀 [API] Test deploy başlatılıyor..."
|
echo "🚀 [API] Test deploy başlatılıyor..."
|
||||||
|
|
||||||
cd "$PROJECT_DIR"
|
cd "$PROJECT_DIR"
|
||||||
|
|
||||||
sudo chown -R "$USER":www-data storage bootstrap/cache 2>/dev/null || true
|
git config --global --add safe.directory "$PROJECT_DIR" || 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
|
find storage -type d -exec chmod 2775 {} \; 2>/dev/null || true
|
||||||
sudo find bootstrap/cache -type d -exec chmod 2775 {} \; 2>/dev/null || true
|
find storage -type f -exec chmod 664 {} \; 2>/dev/null || true
|
||||||
sudo find bootstrap/cache -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 fetch origin
|
||||||
git checkout "$BRANCH"
|
git checkout "$BRANCH"
|
||||||
@@ -35,23 +37,20 @@ 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"/{images,videos,hero-slides,settings,pages,courses,announcements,categories}
|
||||||
sudo chown -R "$USER":www-data "$UPLOADS_DIR" 2>/dev/null || true
|
find "$UPLOADS_DIR" -type d -exec chmod 2775 {} \; 2>/dev/null || true
|
||||||
sudo find "$UPLOADS_DIR" -type d -exec chmod 2775 {} \; 2>/dev/null || true
|
find "$UPLOADS_DIR" -type f -exec chmod 664 {} \; 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 compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" down --remove-orphans || true
|
||||||
docker rm "$CONTAINER" 2>/dev/null || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" up -d --build
|
||||||
docker compose -f "$COMPOSE_FILE" down --remove-orphans 2>/dev/null || true
|
|
||||||
docker compose -f "$COMPOSE_FILE" up -d --build
|
|
||||||
|
|
||||||
sleep 3
|
sleep 5
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$CONTAINER" composer install --no-interaction --prefer-dist --optimize-autoloader || true
|
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan migrate --force || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" composer install --no-interaction --prefer-dist --optimize-autoloader
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan optimize:clear || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan optimize:clear
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan config:cache || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan config:cache
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan route:cache || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan route:cache
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan view:cache || true
|
docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE" exec -T "$CONTAINER" php artisan view:cache
|
||||||
|
|
||||||
docker image prune -f 2>/dev/null || true
|
docker image prune -f 2>/dev/null || true
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user