استقرار برنامه Laravel در لیارا


در ابتدا، پس از ساخت برنامه بایستی تمام فایل‌ها و پوشه‌هایی که قصد ندارید در لیارا آپلود شوند را، از پروژه پاک کنید. به عنوان مثال، باید پوشه‌های node_modules و vendor را از پروژه خود پاک کنید؛ چرا که لیارا در حین فرایند استقرار، آن‌ها را برای شما ایجاد خواهد کرد. به صورت کلی، اگر که در پروژه خود فایلی به نام gitignore. دارید، کافیست تا فایل‌های و دایرکتوری‌های اشاره شده در این فایل را، از پروژه خود پاک کنید.

همچنین، پروژه شما باید شامل فایل composer.json باشد؛ لیارا، در حین فرایند استقرار، به صورت خودکار این فایل را پیدا می‌کند و عملیات زیر را، انجام می‌دهد:

۱

اضافه کردن mirror

لیارا، در ابتدا، در فایل composer.json، برای افزایش سرعت دانلود و نصب پکیج‌های تعریف شده، mirror اختصاصی خود را، اضافه می‌کند تا پکیج‌ها از آن بارگذاری و نصب شوند.

۲

نصب وابستگی‌های برنامه

بعد از اضافه کردن mirror، لیارا با استفاده از دستور composer install تمامی پکیج‌ها و وابستگی‌های برنامه را نصب می‌کند. پس حتماً در نظر داشته باشید که اسامی آن‌ها در این فایل، تعریف شده باشد.

قطعه کد زیر، یک نمونه از فایل composer.json استاندارد برای برنامه‌های Laravel است:

کپی
{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The skeleton application for the Laravel framework.",
    "keywords": ["laravel", "framework"],
    "license": "MIT",
    "require": {
        "php": "^8.2",
        "laravel/framework": "^11.9",
        "laravel/tinker": "^2.9"
    },
    "require-dev": {
        "fakerphp/faker": "^1.23",
        "laravel/pint": "^1.13",
        "laravel/sail": "^1.26",
        "mockery/mockery": "^1.6",
        "nunomaduro/collision": "^8.0",
        "phpunit/phpunit": "^11.0.1"
    },
    "autoload": {
        "psr-4": {
            "App\": "app/",
            "Database\Factories\": "database/factories/",
            "Database\Seeders\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\": "tests/"
        }
    },
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\Foundation\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-update-cmd": [
            "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
        ],
        "post-root-package-install": [
            "@php -r "file_exists('.env') || copy('.env.example', '.env');""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi",
            "@php -r "file_exists('database/database.sqlite') || touch('database/database.sqlite');"",
            "@php artisan migrate --graceful --ansi"
        ]
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true,
        "allow-plugins": {
            "pestphp/pest-plugin": true,
            "php-http/discovery": true
        }
    },
    "minimum-stability": "stable",
    "prefer-stable": true
}

همچنین بهتر است برای استقرار موفق، فایل composer.lock درون پروژه خود را (در صورت وجود) پاک کنید تا در حین فرایند استقرار، لیارا آن را، ایجاد کند.

در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:

deploy app using console

پس از آپلود پروژه، باید شخصی‌سازی‌های پروژه را در برنامه خود، لحاظ کنید:

build app on liara

در انتها، به صورت مستقیم به صفحه تاریخچه برنامه هدایت می‌شوید که می‌توانید لاگ‌های مربوط به استقرار را در آن، مشاهده بفرمایید.

برای دسترسی به فایل‌های پوشه‌های storage، طبق مستندات لاراول باید این پوشه به پوشه‌ی public لینک شود. لیارا به‌صورت خودکار، در زمان استقرار، دستور php artisan storage:link را اجرا می‌کند و نیازی نیست که اقدام خاصی انجام دهید.

پس از استقرار برنامه می‌توانید رویدادها و گزارشات مربوط به برنامه را بررسی کنید.