lorisleiva / laravel-deployer by lorisleiva

Laravel Deployer is a lightweight wrapper of Deployer giving Artisan the power of zero-downtime deployment.
1,164,729
1,651
38
Package Data
Maintainer Username: lorisleiva
Maintainer Contact: loris.leiva@gmail.com (Loris LEIVA)
Package Create Date: 2018-03-09
Package Last Update: 2023-02-26
Language: PHP
License: MIT
Last Refreshed: 2024-05-10 15:15:19
Package Statistics
Total Downloads: 1,164,729
Monthly Downloads: 4,740
Daily Downloads: 151
Total Stars: 1,651
Total Watchers: 38
Total Forks: 167
Total Open Issues: 0

🚀 Laravel Deployer

Laravel Deployer is a lightweight wrapper of Deployer.org giving Artisan the power of zero-downtime deployment.

Console showing php artisan deploy

✨ Features

  • Simple setup process
  • Zero downtime deployments
  • Ready-to-use tasks for Laravel
  • Choose your deployment strategy
  • Agentless, it's just SSH
  • Something went wrong? Rollback to the previous release

1️⃣ Installation

composer require lorisleiva/laravel-deployer

2️⃣ Configuration

In order to generate your deployment configuration file, simply run:

php artisan deploy:init
  • It will ask you a few questions to help you get started and generate a config/deploy.php file.
  • Read more about the available options, tasks, strategies; about how to customize your hosts, your deployment flow and much more in the documentation.

3️⃣ Deployment

When you’re ready to deploy, run:

php artisan deploy
  • If anything goes wrong during the deployment flow, the release will be discarded just like nothing happened.
  • Because we are using zero-downtime deployments, make sure your server’s root path points to the {{deploy_path}}/current symlink.
  • If your project has already been deployed, before using Laravel Deployer, you might be interested in this first deployment strategy.

📜 Available commands

deploy                # Deploy your application
deploy:configs        # Print host configuration
deploy:current        # Show current paths
deploy:dump <task>    # Display the task-tree for a given task
deploy:hosts          # Print all hosts
deploy:init           # Generate a deploy.php configuration file
deploy:list           # Lists available tasks
deploy:rollback       # Rollback to previous release
deploy:run <task>     # Execute a given task on your hosts
logs                  # Dump the remote logs of your application
ssh                   # Connect to host through ssh