
راه اندازی خودکار اپلیکیشن لاراول با Laravel Initializer
آیا تا به حال برای شما پیش آمده است که راه اندازی اپلیکیشن لاراول خود در یک محیط جدید را به صورت دستی و در چندین مرحله بنویسید؟ Laravel Initializer یک روش مناسب برای خودکار سازی عملیات نصب و بروز رسانی اپلیکیشن لاراول است.
Laravel Initializer به شما این امکان را می دهد که چندین فرآیند را اعلان کرده و آنها را با دستورات آرتیسان app:install
و app:update
اجرا کنید که بسته به محیط فعلی برنامه، زنجیره عملیات از پیش تعریف شده را اجرا میکنند.
دستورات app:install
و app:update
از دو کلاس مجزا استفاده میکنند که دستورات را براساس یک محیط خاص اجرا میکنند. ابتدا، دستور install
که از کلاس App \ Install
استفاده میکند:
namespace App;
use MadWeb\Initializer\Contracts\Runner;
class Install
{
public function production(Runner $run)
{
return $run
->external('composer', 'install', '--no-dev', '--prefer-dist', '--optimize-autoloader')
->artisan('key:generate')
->artisan('migrate', ['--force' => true])
->artisan('storage:link')
->external('npm', 'install', '--production')
->external('npm', 'run', 'production')
->artisan('route:cache')
->artisan('config:cache')
->artisan('event:cache');
}
public function local(Runner $run)
{
return $run
->external('composer', 'install')
->artisan('key:generate')
->artisan('migrate')
->artisan('storage:link')
->external('npm', 'install')
->external('npm', 'run', 'development');
}
}
دستور app:update
که از کلاس App\Update
استفاده میکند، به صورت زیر خواهد بود:
namespace App;
use MadWeb\Initializer\Contracts\Runner;
class Update
{
public function production(Runner $run)
{
return $run
->external('composer', 'install', '--no-dev', '--prefer-dist', '--optimize-autoloader')
->external('npm', 'install', '--production')
->external('npm', 'run', 'production')
->artisan('route:cache')
->artisan('config:cache')
->artisan('event:cache')
->artisan('migrate', ['--force' => true])
->artisan('cache:clear')
->artisan('queue:restart'); ->artisan('horizon:terminate');
}
public function local(Runner $run)
{
return $run
->external('composer', 'install')
->external('npm', 'install')
->external('npm', 'run', 'development')
->artisan('migrate')
->artisan('cache:clear');
}
}
در صورت نیاز به دسترسی به سرویسهای خاص در هنگام اجرای دستورات، میتوانید وابستگیها را از service container به برنامه تزریق کنید.
این پکیج شامل انواع اکشنها است که میتوانید در فایل readme آنها را مورد بررسی قرار دهید. در اینجا، اکشن MakeCronTask
را مشاهده میکنید:
$run->dispatch(new \MadWeb\Initializer\Jobs\MakeCronTask)
MakeCronTask
موارد زیر را به لیست crontab سرور اضافه میکند:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
شما میتوانید کارهای دیگری مانند ایجاد پیکربندی ناظر (supervisord) برای یک queue worker یا horizon را نیز با از استفاده از این پکیج انجام دهید.
مقالات بیشتر در لیداوب:
شما میتوانید اطلاعات بیشتر در مورد این پکیج، دستورالعملهای نصب و کد منبع آن را در GitHub مشاهده کنید. با سایر مقالات مشابه ما در کتابخانه آنلاین لیداوب همراه باشید و نظرات و سوالات خودتان را در بخش دیدگاههای سایت با ما به اشتراک بگذارید.
متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند
دیدگاه ها 0