Why Laravel Envoyer is a perfect fit for the PHP deployment
The PHP development cannot be completed by writing the codes, instead, you are just the half-way. Deployment of the software is another half, which requires the equivalent expertise, efforts and time. When website development includes writing and maintaining the servers and then deploying the sites, the development complexity grows by two folds. These are some of the major aspects of web service provider as seen from a developers perspective.
Thanks to Laravel forge that has made deployment a piece of cake by creating a cloud of VPS server, seamlessly managing its environment and then allowing the developers to deploy the sites with the configured server. The homestead based configuration provides a familiar environment to host the PHP applications where everything is set up and just at the push in the specified Forge’s branch, the site will be deployed to the server.
It’s fantastic, but the problems started with managing complicated deploy scripts, zero-downtime deployments and while installing composer updates where the application users will get interrupted. The great fuss and downtime challenges have urged the need of a new deployment service, and the Laravel Envoyer created.
Take a sneak peek inside what the Laravel Envoyer is:
Laravel is one of the PHP frameworks that has provided the best deployment tool- Envoyer to address the challenges not resolved after leveraging Forge. Basically, it’s built for the deployment side of the application with zero downtime, fine-grained control over deployment hooks, health checks, easy rollback, Cron Job monitoring and so on.
It works well with the famous repository management platforms such as GitLabs, BitBuckets, and others, and unlimited project deployments, multiple server deployments and the addition of team members are the add-ons.
Let’s see How Envoyer works:
The Envoyer connect the site to the server to run the deploys where the series of tools are used to ensure that all the preparation work that each deploy need to run, will occur in the background while keeping the previous version still online. For instance, during application deployment, the “PHP artisan down” is used to put up a maintenance page where the application user hit a fatal error if they accessed the site at that time. With Envoyer, it’s not the case, the users will not be interrupted even if the deployment goes all day long.
This way just by pushing the code, the application will be delivered to one or multiple servers without interrupting a single customer.
The wide spectrum of features makes it a perfect tool for Laravel development and other PHP application deployment. Intrigued to deploy the app using Envoyer? If so, Here’s the step-by-step guide that will help you from signing up for Laravel Envoyer to the final site deployment leveraging the same tool:
Get registered to add the project
Envoyer is a premium service that offers various packages which range from $10 for 10 projects to $50 for the end number of the projects on a monthly basis to deploy. After zeroing down the choice to one package, the developers should go to the Envoyer site and signup to create an account. Next, they need to login to add a new project.
When the developers are logged in, “Add Project” tab will appear at the left top of the screen which they need to click to get started with the first project.
Connect repository of code with Envoyer
After clicking on the “Add project,” a new form will appear where the developers are required to add the name and the type of the project in addition to the code repository. The repository of source code can be hosted on any platforms, be it GitHub or BitBucket. Even, the self-hosted repository is supported where the developers should provide a link.
Afterward, when the project is saved, the selected repository will get connected to Envoyer. Thereafter, another dashboard will appear where the saved project name, date of deploy and the repository show up.
Save the server
The next step is to add the server to the project already added through a “Server” tab where the required fields need to be filled out.
When the server is saved, an SSH key is provided that developers need to add to the server’s authorized_keys file in order to run tasks and connect each user they want.
Finally, deploy the application
Once adding the server process gets completed, it’s good to check whether the connection is established or not. Hit the refresh button, if the Envoyer is successfully connected to the server, then routing health checks will be performed regularly. Otherwise, the Envoyer IP addresses need to be white-listed for allowing it to access the server.
When the server is up and running, simply hit the “Deploy” button to deploy the PHP application. Also, scheduled deployment is possible where at the scheduled date and time, the project will automatically get pushed consistently with code.
There exist another option to deploy the application through Git Push with the selection of ‘Deploy when code is pushed’ option in the settings. Besides, the deployment progress can be tracked through a “Deployment” tab. Also, the detailed information related to deployment can be viewed with a single click to the arrow button provided just next to the deployment status.
After the application deployment, the developers should log in to Cloudways SSH terminal, and move the application folder. There, the two folders namely current and releases will appear. The current version holds the current application’s code that’s under the deployment and release folder includes the previous release which is arranged in folders and named with deployment date and time.
When developers confront any issue, Envoyer allows the easy and glitch-free rollback of the current deployment. Plus, the Cron Job performance can be regularly checked with the scheduling of heartbeats. The developers will receive the notifications for the same on the channel of their choice.
The intuitive user interface, brilliant features, and best coding cannot deliver the expected results unless the application performs to the notch. The things go southwards, when the application is developed world-class, but not deployed efficiently.
That’s where Envoyer rocks. The powerful tool should be a part of the laravel development and maintenance processes as it deploys the site and up for running in a matter of minutes. The status of the deployed application can be checked from three locations- New York, London, and Singapore, and in the event of the disaster, Envoyer provides the option to rollback to the current version in addition to zero downtime features.
With no hassle and straightforward usage, Envoyer is focused on providing the superlative deployment experience across one or many servers available for PHP applications. What’s the take for web deployment companies using PHP? Embrace the ideal tool to make PHP web development journey plain-sailing.
My two cents: The leading companies are using Forge and Envoyer in tandem as Forge helps in building the servers with modern tools that are in the trend and Envoyer helps in shipping the code with zero downtime.