Migrating to this deployment script

This page explains how to change your current deployment strategy to this deployment script. The getting-started guide that's included with the deployment script also explains these steps in detail.

Migrating from Laravel Envoyer

This deployment script and Laravel Envoyer use the same directory structure, so you don't have to make any changes when switching to this deployment script. The deployed application on your server should look like this:

project
├── .env
├── current/
│   └── public/ (Apache2/Nginx webroot)
├── releases/
└── storage/

You can point the deployment script to the same directory that Envoyer has already deployed to, and it will work out of the box.

Migrating from Deployer

You don't have to make any changes if you are currently using Deployer to deploy your application. Deployer uses the following directory structure:

project
├── current/
│   └── public/ (Apache2/Nginx webroot)
├── releases/
└── shared/
    ├── .env
    └── storage/

Deployer's directory structure is automatically detected and used by this deployment script. You can point the deployment script to the same directory that Deployer has already deployed to, and it will work out of the box.

Migrating from Forge Quick Deploy, FTP, or git pull

If you are currently deploying with Laravel Forge, FTP, or git, then your deployed application currently looks like this:

project
├── app/
├── bootstrap/
├── ...
├── public/ (Apache2/Nginx webroot)
├── ...
├── storage/
├── ...
├── .env
└── ...

To start using this deployment script, you only have to change your Apache2/Nginx webroot from "public/" to "current/public/". To make this change, first run a deployment using the deployment script to create the "current" directory. Afterwards, point your Apache2/Nginx webroot to "current/public", and you're all done.