knackline / laravel-deploy
A Laravel package for deploying Laravel projects using a shell script.
Requires
- laravel/framework: ^8.0|^9.0|^10.0|^11.0
This package is auto-updated.
Last update: 2024-12-13 18:28:57 UTC
README
Overview
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.
Features
- 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.
Installation
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
Usage
Setup Deployment
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.
Running the Deployment
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.
Configuration
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.
Credits
RAJKUMAR - rajkumarsamra@gmail.com (Github)
License
This package is open-sourced software licensed under the MIT license.