واگذاری مالیک دامنه
، محتوا و سورس
وب سایت
لیداوب
   در حال بارگزاری ...

راه اندازی خودکار اپلیکیشن لاراول با Laravel Initializer

توسط الهه قنبری
آخرین به روز رسانی دوشنبه 11 فروردین 1399

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


متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند

رایگان

اشتراک گذاری در
ثبت امتیاز
5 (1 رای)

   لطفا صبر کنید ...