Laravel Deployer is a lightweight wrapper of Deployer.org giving Artisan the power of zero-downtime deployment.
- 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
composer require lorisleiva/laravel-deployer
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.
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.
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