Continuous Integration (CI) is one of the most popular application development practices and base component for DevOps Culture in modern times. Developers check in for bug fix, new feature development in the code repository. Open Source or commercial CI tool verifies the integration process with an automated build (Build tools such as Ant, Maven, and so on…) and automated test execution framework (such as JUnit) to detect issues with the current source of an application, and provide quick feedback. It also integrates source code analysis using Sonar.
- Practical AWS Networking
- Learning Azure Functions
- Jenkins Continuous Integration Cookbook
- Jenkins Essentials – Second Edition
- DevOps for Web Development
- Implementing DevOps with Microsoft Azure
- DevOps Bootcamp
- Jenkins Essentials
Jenkins is extensible (plugin based), simple, user-friendly, and one of the most popular continuous integration (CI) tools and an open source java application. It is used to build and test projects written in different programming languages sych as Java, .Net, Php, Python, and so on. Jenkins installation is an easy task if we don’t consider master slave or in Jenkins 2 terms, Master Agent architecture. Master Agent architecture needs some more work and not that complex either.
There are different categories of plugins such as UI plugins, Authentication and user management, Slave launchers and controllers, Source code management (Jenkins supports SCM tools such as StarTeam, Subversion, CVS, Git, AccuRev and so on.), Android development, iOS development, Build triggers (Jenkins can build Freestyle, Apache Ant, and Apache Maven-based projects.), Build notifies, Build reports, External site/tool integrations, .NET development, Ruby development, Library plugins, and so on.
Jenkins is one of the most popular CI servers in the market. The reasons for its popularity are as follows:
- The master slave architecture supports distributed builds to reduce loads on the CI server
- Easy installation on various sets of operating systems as simple as java -jar jenkins.war
- Easy upgrades and Quick release cycles
- Simple and easy-to-use user interface with focus on Continuous Delivery since Jenkins 2
- Easy to configure the setup environment in the user interface
- Easily extensible with the use of third-party plugins—over 400+ plugins
- Shell and Windows command execution in prebuild steps
- Notification support related to the build status