Friday, January 25, 2019

Continuous Integration

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.  

1 comment: