In today’s world, the release cycles are getting shorter and shorter and new code is deployed on to production for the customers to use the recent changes, features or enhancements. Everyone and everything (deployment package) has to be ready in very short amount of time. But, the process was that the developers have to constantly keep writing code and send it to the QA teams to test and give their feedback on their respective code, which takes a long time (including bug fixes), leading to postponement and delays in release of the new changes and features.
THE RISE OF BUILD TOOLS
To make the above tedious process easier and faster, the build tools aka CI tools have been created. These tools speed up the process of running and testing the code and return the feedback in no time. There are various tools available at the developers’ disposal, the one that suits them is the best tool (for them). Jenkins CI, Bamboo CI, Circle CI etc. are a few examples of build tools. Each tool has its own pros and cons, so before implementing them in your development process, a brief research of the tools is necessary which satisfy most of the requirements.
WHAT CAN THE BUILD TOOLS DO?
These build tools have certain features inbuilt or can be enhanced by downloading plugins (which you require or need). These plugins are useful for Continuous Integration(CI) and Continuous Delivery(CD) of your product. There are certain plugins which make testing work very easy. Various testing plugins for different testing types like Selenium, Jmeter, Junit etc.
They also help in generating reports for your tests. Again, they can be executed with plugins.
HOW DO THESE BUILD TOOLS WORK?
To start the build process, the developer needs to create a project in the build tool and link his respective GITHUB, Subversion, CVS which are the version control systems(VCS) or source control management(SCM) which help in storing your code(they are more than that) and add the testing and reporting plugins to their project and then save it.
Once setup, start the build process and you will see the build tool pulling your code from your respective VCS, run tests and generate reports (which you have applied) on the dashboard, and get an instant feedback. The build process can be automated and the status and reports can be received via email. Removing the need for manual intervention.
These are the basics of build tools. In the next article, we will look into Jenkins CI and its installation. This article and later ones are for easy understanding of DevOps and its concepts.