Continuous Integration – What, Why, How?


Posted November 17, 2016 by tetranoodle

The developer oriented features of TeamCity lets your system perform better, and it goes both ways.

 
Continuous Integration (CI) is a software development practice, where every developer or every member of the developing team is supposed or we would rather say obliged to integrate and test their work on daily basis and not waiting for a month to finally integrate and go through the manual testing process. Each integration is tested by an automated build and the errors are detected quickly. This practice leads to a less hefty integration and error fixing job and allows the development team to rapidly produce software that is agile.
the flow
How the CI process is underwent and what steps are followed in order to establish the continuous integration during a software development. Let’s talk about it;
Step 1: Unit test
The developer make changes in a code and then test it locally, these are the basic things and known as unit tests. Local unit tests are tested by the developer and in some cases local tests are made through CI system.
Well, what does it mean, suppose there is a primary function in the code so the developer tests it manually to check if there are any bugs,
Example:
There is a function called sum which returns the sum of value1 and value2, let’s take python as the language here,


Def sum(value1, value2):
return = value1 + value2


Now we define a unit test that tests the sum function for the values 2 and 5.

def unit_test_sum_2_5:
assert sum(2,5) == 7
This unit test tells that the sum function will always return 7, in return of values 2 and 5. If the result of 2 and 5 at anytime isn’t 7, that’s the failure of unit test.
Step 2: Check in the Code


Secondly the developers check in the code by some source code repository system most common today are git, subversion, perforce etc, then the CI system begins testing, it will automatically spin up all the resources required to test they may be containers, virtual machines, or any other components, this spin up processes basically depends on the nature of CI system you are using, in case of VMware Code Stream it spins up VMs, Concourse CI from Pivotal spins up containers. The CI then check that appropriate code revision that was created by the developer and then runs the whole series of test it will not only just run the unit tests but every resource that was spun up that might be database or containers, it checks it all every single detail to check if that particular change worked, and this testing is done every time a change is made every time a change is made in the code, if there are let say 20 employees and each employee made 10 changes the CI system will tests the whole series of code in the same integrated fashion 200 times.
This whole process can be broken down into four simple points as listed below:
Check in the Code (git, perforce, etc.)
CI system spins up all the resources required (containers, VMs, etc)
Checks the code revision created by developer.
Runs the whole series of tests each time a change is made.
Step 3: Test Result
Finally, the results are sent to the developer, the usual testing span is from 10 minutes to an hour, sometimes its shorter when the code is short and other times it can take really long but the usual span is or 10 to 60 minutes.
The code either fails the test or passes it, in case of failure the developer is notified about the errors encountered while the testing so as to debug it. This failure or pass is conventionally termed as ‘Check-In Rejected’ or ‘Check In Accepted’ respectively.
G2 Crowd: Key benefits of CI
A continuous integration lets you:
Identify and remove bugs earlier, in the development process.
Automate the traditional hefty testing procedure.
Obtain fast feedback on the over-all system functions.
Measure and evaluate integrity of system, complexity, and features.
Revise, modify and simplify code.
Run scripts and computerize deployment process.
3 factors Satisfy the Buyer most
G2 Crowd comes up with the most authentic reviews taken directly from hundreds of real users and prepares reports after observing a good amount of users. The following report is cooked up using the same procedure and it is based on the factors that influence a user for buying certain CI software.
These CI market trends are derived by the most recent studies:
Ecosystem is the crucial part –Vibrant ecosystems influence directly on the users’ sense of satisfaction. Basically an active community, diversity of plug-ins, profusion of documentation and regular upgrades benefit tools with thriving ecosystems.
Cross-platform Compatibility –Cross platform compatibility is highly desired. Users of cross platform cite cross-platform as the major advantage. Products of CI are varied from platform-specific nature to cross-platform solutions completely for Mac, Windows and Linux.
Project type matters too – At the end what matters is the nature of project and sufficient plug-ins available for it initially, if a product has plug-ins that you need but paid while the other offer it right after the installation, the favor goes to second one straightly.


Why JetBrains TEamCity?
Developer Oriented Features
The developer oriented features of TeamCity lets your system perform better, and it goes both ways. Either you prefer conventional Continuous Integration approach or Feature Branches with Git, TeamCity has covered a wide range of features raising your teams production to next level.
no need of additional plug-ins
The installer package of Continuous Integration with TeamCity itself has enough features and plug-ins to start off from day one, supporting all the platforms they be .NET, Java or anything. It takes mere couple of minutes to get started.
100+ Features waiting for you
As you progress and need additional features, you can simply opt from 100+ already built features and plug-ins, not only this with the help of TeamCity Open API you can build your customized plug-ins.
Customer Care
Anytime you need assistance or consulting, there are community based platforms including online documentation, public issue tracker and community forum, so you don’t have to feel alone.
Lets you Grow Smoothly
As you grow and extend your capacity you need power to efficiently run it as before. TeamCity gets big too and with the licensing model allows you to slickly expand your server potentiality.
BESt continuous integration and deployment platform
Along with CI, now JetBrains TeamCity has encompassed all the features you need for an efficient continuous deployment, and hence successfully provides you with best practices in both areas.
-- END ---
Share Facebook Twitter
Print Friendly and PDF DisclaimerReport Abuse
Contact Email [email protected]
Issued By Manoj Aggrawal
Website Teranoodle
Phone 1604 897 0195
Business Address 469 E 58th Ave Vancouver BC Canada V5X 1W1
Country Canada
Categories Education
Tags buy online tutorials teamcity , jetbrains , teamcity
Last Updated November 17, 2016