/laravel-deployer

🚀 Zero-downtime deployment out-of-the-box

Primary LanguagePHPMIT LicenseMIT

🚀 Laravel Deployer

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

Console showing php artisan deploy

Documentation button Video tutorials button

✨ 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