Jenkins -
Jenkins is an open source tool with plugin built for continuous integration purpose. The principle functionality of Jenkins is to keep a track of version control system and to initiate and monitor a build system if changes occur. It monitors the whole process and provides reports and notification to alert.
Continuous Integration -
In software development, multiple developers or teams work on different segments of same web application so we have to perform integration test by integrating all modules. In order to do that an automated process for each piece of code is performed on daily bases so that all our codes get tested. This process is known as continuous integration.
Difference between Maven, Jenkins and Ant -
Maven and Ant are Build Technologies whereas Jenkins is a continuous integration tool.
Features -
- Free and Open source
- Excellent community and documentation
- Exhaustive set of plugins and Integration
- Easy to set up, install and use on any platform because it is based on Java
- Supports distributed builds due to master slave architecture, thus reducing the load on the CI Server.
How did Jenkins come into existence -
Originally called Hudson, Jenkins came into existence when Oracle took over the ownership to continue development of the product, by renaming it as Jenkins.
Relation Between Hudson and Jenkins -
Hudson was the earlier name and version of current Jenkins. After some issue, the project name was changed from Hudson to Jenkins.
Requirement for Using Jenkins -
For Using Jenkins, we have to need a source code repository which is accessible. For example, a Git repository and q working build script. e.g.. a Maven script, Checked into the repository.
How is continuous integration achieved using Jenkins -
- All the developers commit their source code changes to the shred Git repository.
- Jenkins server checks the shared Git repository at specified intervals and detected changes are then taken into the build.
- The build results and test results are shared to the developers.
- The built application is displayed on a test server like selenium and automated tests are ran.
- The clean and tested builds is deployed to the production server.
What is DevOps and in which stage does Jenkins fit in -
DevOps is a software development practice which blends software development(Dev) with IT Operation(Ops) making the whole development lifecycle simpler and shorter by constantly delivering builds, fixes, Updates and features. Jenkins play's a great role because it helps in the integration by automating the build, test and deployment process.
Can we start Jenkins using Command line -
Using jenkins.exe start
Groovy -
Groovy from Apache is a language for java platform. It is the native scripting language for Jenkins. Groovy based plugins enhance Jenkins with great interfaces and builds reports that are dynamic and consistent.
SCM -
The SCM or Source Code Management tools Jenkins supports are SVN, Clearcase, CVS, Git, AccuRev, Perforce, RTC, Mercurial.
Job -
A job or build job is a task or step in the entire build process. It could be compiling the source code, running unit tests, deploying the application to the web server and so on.