The Knackline Laravel Deploy Package simplifies the deployment of Laravel projects using a customizable shell script. This package allows you to create and manage a deployment script that can be tailored to your specific project needs. It also supports optional integration with Laravel Horizon and Telescope.
- Customizable Deployment Script: Automatically generate and customize a deployment script based on your project requirements.
- Horizon & Telescope Support: Includes commands for Horizon and Telescope if they are installed in your project.
- PHP Version Management: Specify the PHP version to use during deployment, with support for versioned paths.
- Git Branch Selection: Define the default Git branch to deploy from.
To install the package, run:
composer require knackline/laravel-deploy
After installation, you can publish the configuration file and the deployment script:
php artisan deploy:setup
To set up the deployment configuration and script, use:
php artisan deploy:setup
During setup, you will be prompted for:
- Laravel Project/Application Path: The path to your Laravel project. If left blank, it defaults to the root of your Laravel installation.
- Default Git Branch: The Git branch to deploy.
- PHP Version: The PHP version to use. If left blank, it defaults to
/usr/bin/php
.
The script and configuration file will be generated based on your input.
Once the script is generated, you can deploy your application by running:
php artisan deploy
This script will:
- Navigate to the specified project directory.
- Fetch the latest code from the specified Git branch.
- Install or update composer dependencies.
- Run database migrations and other necessary commands.
- Display a success message upon completion.
The configuration file (config/deploy.php
) allows further customization:
return [
'script_path' => base_path('deploy.sh'), // Path to the generated deployment script
'project_path' => '/path/to/your/project', // Path to your Laravel project
'git_branch' => 'main', // Default Git branch to deploy
];
You can manually adjust these settings as needed.
RAJKUMAR - [email protected] (Github)
This package is open-sourced software licensed under the MIT license.