@servers(['dev' => 'barasysr@167.86.89.118']) @setup $repository = 'git@gitlab.com:bit-01/albaraka-sys.git'; $releases_dir = '/home/barasysr/releases/'.$branch; $app_dir = '/home/barasysr/'.$branch; $release = date('YmdHis'); $new_release_dir = $releases_dir .'/'. $release; $devPath = '/home/barasysr/dev/current'; // Validate branch if (!in_array($branch, ['main', 'dev'])) { throw new Exception('Invalid branch. Only "main" and "dev" branches are allowed.'); } @endsetup @story('deploy') clone_repository run_composer update_symlinks @endstory @task('clone_repository') echo '🚀 Cloning repository...' [ -d {{ $releases_dir }} ] || mkdir -p {{ $releases_dir }} git clone --depth 1 -b {{ $branch }} {{ $repository }} {{ $new_release_dir }} echo '✅ Repository cloned successfully!
' @endtask @task('run_composer') echo "🎯 Starting deployment ({{$branch}}--{{ $release }})..." cd {{ $new_release_dir }} echo '📦 Installing Composer dependencies...' composer install --prefer-dist --no-scripts -q -o echo '✅ Composer dependencies installed!
' @endtask @task('update_symlinks') echo "🔗 Linking storage directory..." rm -rf {{ $new_release_dir }}/storage ln -nfs {{ $app_dir }}/storage {{ $new_release_dir }}/storage echo '✅ Storage directory linked!
' echo '🔐 Linking .env file...' ln -nfs {{ $app_dir }}/.env {{ $new_release_dir }}/.env echo '✅ .env file linked!
' echo '⛓️ Linking current release...' ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current echo '✅ Current release linked!


' cd {{ $new_release_dir }} if [ "{{ $branch }}" = "main" ]; then ln -s {{ $devPath }} ./dev.barasys.com fi echo "🔄 Migrating Database..." php artisan migrate --force --path="database/migrations/new/" echo '✅ Database migrations complete!
' echo "🌱 Seeding Database..." php artisan db:seed echo '✅ Database seeded successfully!
' echo "🎉 Deployment complete! 🎉" @endtask