How Laravel Forge can make you a more efficient developer 👩‍💻
23rd April 2020

What is Laravel Forge? 

Laravel Forge is a PAAS (platform as a service) for deploying and provisioning servers, built by the same minds that brought us Laravel. Forge currently manages over 300,000 applications worldwide and connects to numerous cloud infrastructure providers including AWS, Linode, Digital Ocean and more. 

Its tools are likely to be most familiar to those who are using Laravel as their application’s PHP framework, but it allows you to host any other PHP application, including those running WordPress or Statamic. It also lets you manage SSL certificates, queue workers and scheduled jobs for your individual sites.

How can it make me more efficient?

Most modern web applications are set up with individual environments that offer a unique configuration for development, staging and production, and these come with their own management and maintenance challenges . Once setup, Forge automates much of what would take up valuable development resource as ongoing  management and onerous deployment tasks.

Source Control

Once authenticated, you are able to hand Forge access to your GitHub, GitLab or Bitbucket repositories to enable both automatic deployment (Quick Deploy) or manual deployment (Deploy Now) of your web application code.

These deployments can be customised using scripts. A deployment script is expected to pull the latest code from its repository, install any dependencies, boot up the server and run any migrations. For example, here is one we made earlier:


This is the simple (but effective) script used to deploy changes to the Cuhu site.

Servers

Once you have connected your server provider such as Amazon, Linode or Digital Ocean through your Forge account you will be able to create and provision servers. You can allocate individual servers for your duo (or trio) of environments, within which you can create individual ‘sites’ for your web applications. .

Databases

When provisioning a server, you can choose to configure a database server from one of the following relational database management systems: MySQL, MariaDB or Postgres. Each server will automatically install a default ‘forge’ database, but also gives you the flexibility to install multiple databases for which you can add/manage users and their associated credentials and access roles. Provided you are on a business plan, you are able to backup databases to AWS S3 or DigitalOcean Spaces- a useful perk for those who are already using either of these services.

So, what are the benefits of Laravel Forge? 

Overall, there are numerous benefits to using Laravel Forge as a developer. Firstly, it removes any unnecessary hassle from the deployment process, which is brilliant alone as it saves time. It has an extensive range of flexible tools, the setup is straightforward and should only need to be performed once per application if done correctly.

It boasts a seamless UI which means you won’t get bored or irritated navigating it. It handles automation well and even allows you to share your server management with other users, which is great when working in a team!