Continuous Integration
Continuous Integration (CI) is the process of
automating the build and testing of code every time a team member commits
changes to version control. ... CI emerged as a best practice because software
developers often work in isolation, and then they need to integrate their
changes with the rest of the team's code base.
CI
is devops software development practice where developers regularly merge their
code changes in central repository after which automated builds and tests
are run.
Advantage of CI
improve quality
early bug finding
reduce time to validate n release app updates
fast feedback on changes
Tools
used for CI
TFS,
Jenkin, Azure
Team
Foundation Server aka TFS is a Microsoft product which is
serves as a SCM tool like Git. It also has features like reporting, project management,
automated builds, testing and release management capabilities. It covers entire
lifecycle, and enables DevOps capabilities. TFS can be used with numerous IDE
including Visual Studio and Eclipse on all platforms.
It
also provides the features of implementing both CI and CD. It has the feature
of Build Management which includes build process management and automating
build triggering. It supports good number of automated build triggers such as
scheduled build, Continuous Integration trigger, trigger, etc
Bamboo
Bamboo is a continuous integration (CI) server that
can be used to automate the release management for a software application,
creating a continuous delivery pipeline.
Jenkins
Jenkins is an open source automation tool written in
Java with plugins built for Continuous Integration purpose. Jenkins is used to
build and test your software projects continuously making it easier for
developers to integrate changes to the project, and making it easier for users
to obtain a fresh build
Team
City
TeamCity is a Java-based
build management and continuous integration server from JetBrains. It was first
released on October 2, 2006.TeamCity is commercial software and licensed
under a proprietary license. A Freemium license for up to 100 build configurations
and 3 free Build Agent licenses is available.
Difference between Jenkins and TeamCity
Both Jenkins and TeamCity are
continuous integration tools that serve many of the same
purposes. Jenkins is an open source tool, while TeamCity is
a proprietary offering from JetBrains.
The big difference between Bamboo vs Jenkins is
that Jenkins is Open Source – it's free. Integration with JIRA
and Bitbucket is limited. ... There are only 100 Bamboo plug-ins
in the Atlassian environment compared to Jenkins which has
over 1000.
note: All references taken from google.