Airdrop — Speed up your Laravel deployments by skipping asset compilation.
A package by Hammerstone

Filesystem Driver

The Filesystem Driver is the default driver that we ship with. It stores all of your built assets as a .zip on a filesystem of your choosing.

Configuration

If you'd like to change the configuration, you can do so in airdrop.php.

config/airdrop.php

1[
2 'drivers' => [
3 'default' => [
4 // The class responsible for implementing the stash and restore
5 // logic. Must extend BaseDriver.
6 'class' => FilesystemDriver::class,
7
8 // The disk on which to store the built files.
9 'disk' => env('AIRDROP_REMOTE_DISK', 's3'),
10
11 // The folder (if any) where you'd like your stashed assets to reside.
12 'remote_directory' => env('AIRDROP_REMOTE_DIR', 'airdrop'),
13
14 // A writeable directory on the machine that builds the assets.
15 // Used to build up the ZIP file before stashing it.
16 'local_tmp_directory' => env('AIRDROP_LOCAL_TMP_DIR', storage_path('framework')),
17
18 // The skip file is an empty file that will be created to
19 // indicate that asset building can be skipped.
20 'skip_file' => env('AIRDROP_SKIP_FILE', base_path('.airdrop_skip')),
21 ]
22 ],
23]

disk controls which disk your built files are stored on.

remote_directory allows you to place all of your built assets in a subdirectory on your remote disk, to avoid cluttering up the root directory.

local_tmp_directory is a place that Airdrop can use to create the .zip file before it is uploaded. Airdrop will clean up after itself, so nothing will be left behind once it's done.

skip_file is the file we referenced in the deploying section. It's used as a signal to other processes that the built files have been successfully restored, and they do not need to be built again.