ویرگول
ورودثبت نام
حمیده دلیری
حمیده دلیری
حمیده دلیری
حمیده دلیری
خواندن ۲ دقیقه·۹ ماه پیش

Laravel Envoy برای استقرار خودکار پروژه‌های لاراول

Laravel Envoy یک ابزار برای اجرای دستورات سرور از راه دور به‌صورت ساده و تمیز است. این ابزار بیشتر برای استقرار (Deployment) خودکار، اجرای دستورات مدیریتی روی سرور، و اتوماسیون وظایف استفاده می‌شود.

ویژگی‌های کلیدی Laravel Envoy:

✅ سینتکس ساده و خوانا (بر پایه Blade)
✅ اجرای دستورات روی چندین سرور به‌صورت همزمان
✅ امکان تعریف Task برای گروه‌بندی دستورات
✅ امکان استفاده از notifications (مثل ارسال پیام به Slack و Discord)

نصب Envoy

ابتدا Envoy را با Composer نصب کن:

composer global require laravel/envoy

نکته: مطمئن شو که ~/.composer/vendor/bin یا ~/.config/composer/vendor/bin در PATH سیستم شما قرار دارد.

📄 ایجاد و استفاده از Envoy.blade.php

یک فایل در ریشه پروژه با نام Envoy.blade.php بساز و دستورات خود را در آن بنویس:

@servers(['web' => 'your-user@your-server-ip']) @task('deploy', ['on' => 'web']) cd /var/www/your-project git pull origin main composer install --no-dev --prefer-dist php artisan migrate --force php artisan cache:clear php artisan config:clear php artisan view:clear npm run build @endtask

در این مثال:
🔹 به سرور web متصل می‌شویم.
🔹 آخرین تغییرات git pull را دریافت می‌کنیم.
پکیج‌های composer را نصب می‌کنیم.
🔹 دیتابیس را به‌روزرسانی می‌کنیم.
🔹 کش‌ها را پاک می‌کنیم.
🔹 فرانت‌اند را بیلد می‌کنیم.

🚀 اجرا کردن Envoy

برای اجرای تسک deploy، این دستور را در ترمینال بزن:

envoy run deploy

اگر چندین سرور داری، می‌توانی این کار را هم انجام بدهی:

envoy run deploy --parallel

(این کار روی همه سرورها به‌صورت همزمان اجرا می‌شود.)

📢 اضافه کردن نوتیفیکیشن

می‌توانی بعد از اجرای موفق تسک، یک پیام در Slack یا Discord بفرستی:

@after @slack('webhook-url', '#deployments', &quotDeployment completed successfully!&quot) @endafter

💡 نتیجه‌گیری

Laravel Envoy یک ابزار عالی برای اتوماسیون استقرار (Deployment Automation) در پروژه‌های Laravel است. با آن می‌توانی به‌راحتی git pull، composer install، migrate و حتی npm run build را اجرا کنی. برای پروژه‌ای که روی GitLab CI/CD کار می‌کنی، Envoy می‌تواند نقش مکمل برای مدیریت استقرار روی سرور را بازی کند. 🎯

۰
۰
حمیده دلیری
حمیده دلیری
شاید از این پست‌ها خوشتان بیاید