DevOps

Overview, Benefits and Important Features of Jenkins

Jenkins is an open source CI (Continuous Integration) tool built in Java. Originally it was named Hudson, but when the trademark registration problem with Oracle occurred the project was forked to be renamed, Jenkins. It supports task automation/efficiency such as Build, Deploy, Test etc. in software development project etc.

The main functions of Jenkins are ‘Continuous software build/test function’ and ‘Externally activated job execution monitoring function’. It is web-based software developed in Java, one can manage/change settings/view reports from the website.

It is a CI tool that can be installed very easily and is easy to set up. It supports major version control systems such as Git, Subversion, Mercurial.

Flow of Development Using Jenkins

When the development member commits the source code, Its detects the update and kicks the build tool. Build/test is executed according to the preset procedure. When the build/test is completed, Its will output the results to a web page, mail, etc. As for the error part, if the developer corrects it, repeats the build/test and repeats until the error becomes zero, it means that the quality of the procedure level has been cleared.

Major Features

High Versatility – One can run scripts of various kinds/languages in any environment such as Linux / Windows / Mac.

Extensive Trigger – It can be executed with various triggers such as “commit of version control system”, “scheduling by cron-like mechanism”, “when another build is completed”, “request with specific build URL”, etc.

Extensibility by Plug-In – It can extend its functionality by creating/using plugins. It also features a lot of plugins.

Cooperation with Version Control System

Collaborate with the version control system, collect the source code which constitutes the project automatically, compile it and build it into an executable state.

Unit Test – One can run the unit test with a very simple setting.

Simple Installation – Simply run “java – jar jenkins.war” or deploy it to the servlet container, you can install it. The database is unnecessary.

Simple setting – One can configure Jenkins using easy-to-understand WebGUI.

Difference Support – Jenkins can generate a list of changes from the version control system to build.

Cooperation with RSS / E-mail / IM

One can also use “RSS” “Mail” “IM” etc. as the result output destination.

Post-Build Tag – One can set tags in build units.

Distributed Build – One can run distributed build/test on multiple computers.

File Fingerprint – One can track which builds generated which jars, which version of jar they are using, etc.

Various OS support – It supports many OS such as Linux, BSD, Windows, Mac and so on.

Procedure to Install Jenkins – Windows version

  • After the setup using the installer, the procedure for initial setting is summarized.
  • Download Jenkins
  • Installation of Jenkins
  • Initial setting of Jenkins

→ Unlock

→ Install plug-in

→ Create User

  • Start of Jenkins

Benefits of Jenkins as a CI tool

Prevent Assignment of Work – Various kinds of work will occur at the time of development, but if you leave nothing in the build, you are unknowingly becoming an adolescent. Such work becomes a work that everyone can do by automating it as a job of Jenkins.

One Can Manage Old Versions – In software development, function addition and modification are repeated many times, and many versions are created. Sometimes it may be necessary to verify with older versions. In such a case, if you build with Jenkins, you can easily download the old version that is being managed.

Information Is Easy to Obtain – Because the number of users is large and the community is active, it is easy to deal with information when it is easy to obtain information and problems occur. Also, many books have been published, and getting know-how is relatively easy. With emerging CI tools this will not work.