When I was building web applications for clients, during the early years of 2K, I was using FTP Clients like FileZilla to upload website-developed features. Yea it’s cool, simple, and easy, but FileZilla had very serious problems.
Table of Contents
Painful FileZilla Uploads.
Completely Manual, Zero Automation.
Any tool that is completely manual or that has Zero automation is prone to errors. You can get into lots of troubles like the following
- You can upload the wrong file which is not updated.
- You can upload a file to the wrong location instead of uploading default.js to /var/www/html/yourdomain.com/plugin/assets you can easily upload to /var/www/html/yourdomain.com/assets/ because they too look similar.
- When you have multiple files to upload, chances are it can fail at any time, We need to zip manually and upload and extract there,
To me it’s the dumbest tool / the dumbest approach, I started scouting for new tools or ways to automate.
Git is the lifeboat:
More than solving version control alone, Git solves the toughest problems in the most efficient way every possible.
- File transfer from one machine to another machine using compression.
- Content Integrity Verification: Checks the content received at the receiver is transferred fully and successfully as is sent by the sender. This means git checks for content are exactly the same as received by the receiver.
- Speed: Git should be faster to process a large number of files.
- Distributed: Git gives each developer a local copy of the full development history, and changes are copied from one such repository to another. These changes are imported as added development branches and can be merged in the same way as a locally developed branch.
- Strong support for non-linear development: Git supports rapid branching and merging and includes specific tools for visualizing and navigating a non-linear development history. In Git, a core assumption is that a change will be merged more often than it is written, as it is passed around to various reviewers. In Git, branches are very lightweight: a branch is only a reference to one commit. With its parental commits, the full branch structure can be constructed.
Git-based deployment:
What is Deployment?
Copying computer programs ( source code ) from development machines to live servers or production servers with NO trouble to the existing software that is running is called deployment.
Since Git has the capability of transferring files from one computer to another computer, the tech community built a recipe around this for the deployment of applications on the cloud.
Git is not a COMPLETE deployment tool:
Git is truly solving the first piece of the task.
Copying computer programs ( source code ) from development machines to live servers or production servers
but it does not solve
with NO trouble to the existing software that is running is called deployment.
Git will not do anything other than copying files efficiently from one machine to another. Its the duty of the developer to make sure all the required activities are executed. Already, developers are loaded with lots of development tasks. Here comes RolloutCD a great time saver. Saves lots of your development time to build deployment scripts and test the scripts. All you need to do is
- Sign-up at RolloutCD.com
- Choose the deployment recipe that best suits the tech stack that you are using or the framework that you are using.
- Deploy
- No worries, if your deployment goes wrong. You can always roll back.
Conclusion:
RolloutCD.com was written to address the deployment scripting that a developer or DevOps engineer has to develop spending lots of time money, RolloutCD comes truly to save your time and money.