
Perfect deployments with GitHub Actions
- Professional deployments out-of-the-box
- Easy to install
- Zero-downtime
- Fast 🔥 (deploys in less than a minute)
- Automatically deploy when you `git push`
- Fully customizable, you own the code

Here's what other developers have to say



Take a breather
GitHub has your back
GitHub installs and builds all your project dependencies.
Your server doesn't have to do any of the heavy lifting.
The workflow runs composer install
, npm install
, and npm run production
inside a GitHub Actions container.
The compiled production bundle is then uploaded to your server.
Never deploy a broken release
With zero-downtime deployments
If any step in the deployment goes wrong, your deployment will fail gracefully.
A broken release will never get activated.
Deploy with confidence.


No dependencies, pure bash
You own the full deployment script, and it lives inside your repository.
You have full control over the script.
You won't have to deal with dependencies, packages, 3rd-parties, or a SaaS subscription model.
Ready to go in less than 15 minutes
Want to see how easy it is? This video shows how to configure the script for your first deployment.
Ready to deploy?
One-time payment
VAT included
-
Full access to the deployment script
-
Complete "getting started" guide
-
Lifetime access to updates
-
30-day money-back guarantee, no questions asked
Already deployed your application?
Compatibility with other popular tools is built in.
These examples should give you an idea of just how easy replacing your current workflow is.
Upon purchase, a full "getting started" guide is included that explains exactly how to run your first deployment.
- Using Deployer?
-
This deployment script is fully compatible with deployments done by Deployer.
Just make the deployment to the same directory as you always deploy to.
Deployer's
shared
directory will be automatically detected, no changes required. - Using Laravel Envoyer?
- This deployment script is fully compatible with deployments done by Laravel Envoyer. Just point the script to the same directory as Envoyer deploys to, no changes required.
- Using git clone or Forge Quick Deploy?
-
Migrating to a zero-downtime structure is easy.
Deploy to the same directory your project is currently in.
Point your virtualhost (such as Apache2 or Nginx) to
/current/public
instead of/public
, and you're all done. - Still uploading by hand using FTP?
-
Migrating to a zero-downtime structure is easy.
Deploy to the same directory your project is currently in.
Point your virtualhost (such as Apache2 or Nginx) to
/current/public
instead of/public
, and you're all done. - Haven't deployed your project yet?
-
Run your first deployment.
Fill in the
.env
file on your server. Point your Apache2 or Nginx to/current/public
, and you're all done.
Have any questions?
If you have any questions, please don't hesitate to send me a message.
You can use this contact form to send a message straight to my inbox.
You can also email me directly at sjorsottjes@gmail.com
Frequently asked questions
- How can I extend or modify the script?
- The easiest way to extend the script is by adding code to the "before activation" and "after activation" hooks. These hooks, among other things, migrate the database, flush OPcache, and restart the queue. You can add any custom commands you'd like to these hooks.
- Which Laravel versions are supported?
-
The script supports Laravel 5.0 and higher.
Laravel's directory structure and console commands (such as
config:cache
) haven't changed in the last few years. It doesn't matter if you're deploying Laravel 5.8, or the latest Laravel 9, it will deploy without a problem. - Do I get a notification if my deployment fails?
- GitHub sends out an email when a deployment fails by default. You can add more notifications by modifying the workflow file. For example, you can use the official Slack action to send Slack messages to your team.
- Is this script a good alternative for Laravel Envoyer?
- Yes, this deployment script is a good alternative for Laravel Envoyer. The script deploys your application in almost exactly the same way as Envoyer does. If you are currently using Envoyer, no changes are required to start using this script.
- How does this compare to Laravel Forge?
- Laravel Forge is mainly for provisioning and managing servers. Forge Quick Deploy can be used to deploy your code, but those deployments aren't a complete solution. You can use Forge to provision your server, and use this script for your deployments.
- Can I deploy to multiple environments at once?
-
GitHub Actions is serverless, so you can deploy to as many environments you want, in parallel.
For example, you can automatically deploy to your staging and acceptance environments at the same time when a new commit is pushed to your
develop
branch. - What operating systems are supported?
- The deploy script is made to deploy your application to a Linux server. It is tested with Ubuntu 16.04, 18.04, 20.04, and 22.04. The script will not work on a Windows server.
- Does this script support PHP8.1?
- The deployment script uses bash to deploy your application. This means it doesn't matter if you're using php5.6, php7.4 or the latest and greatest php8.1, deployments will always work.
- Can I use the script for multiple applications?
- After purchasing the script you can use it for as many environments and applications as you want. Buy it once, own it for life.
- Can this automatically run my unit tests?
- You can modify the build step to also run your PHPUnit tests and Laravel Dusk tests. If a test fails, your deployment will instantly be canceled.
- Does this deployment script allow for continuous integration and continuous delivery (CI/CD)?
- Definitely! Set up specific branches that automatically deploy new changes. Push small changes regularly. That's all there is to it.
- Can I deploy a non-Laravel application using this script?
- Not out of the box, but the deployment script is well-documented and easy to modify. With some changes to the script I'm convinced you can use it to deploy anything from Symfony to Magento.