What is Jenkins

W

Jenkins, also known as Jenkins CI, is the most powerful server with continous integration, which offers over 300 plugins for building and testing any software project. It is a web-based application running on a web server, such as Apache. With Jenkins you can monitor the execution of repeated jobs, including those executed by Cron or similar automation software. It is easy to install, it can be configured, and supports plugins which are built and distributed by someone else.

Jenkins can perform an extensive list of tasks through the multitude of plugins available, and it can be used in the development of almost any project regardless of language or architecture.
Jenkins can be installed on any of the popular operating systems either through a native package (Windows, Ubuntu/Debian, Red Hat/Fedora/CentOS, Mac OS X, OpenSUSE, FreeBSD, OpenBSD or Gentoo) or through “java -jar jenkins.war“. On Windows, this can also be set as a Windows service after installation. Once you have installed Jenkins, it can be accessed through a localhost browser: 8080, this being the default address. The address can easily be reconfigured via the interface, which is the main way to interact with Jenkins.

The next step after installation should be to secure the server because even Jenkins default installs are insecure, allowing anyone with access to the server to have total control over tasks and configurations. To secure Jenkins we start by navigating to “Manage Jenkins” followed by “Setup Security”. Jenkins offers the possibility of creating multiple types of projects or copying an existing project. Any project is created by accessing the “New Item” option in the Dashboard followed by the type of project you want, which is only possible if the user has the necessary rights. Otherwise, the “New Item” option is not displayed.

The essence of a project in Jenkins is to automate actions that otherwise should be executed manually. The number of steps, actions taken by each step, and the outcome of each step depend on how they were configured and they are enormously different depending on the project. Jenkins’s versatility lies in being supported by a community that constantly adds new features through plug-ins.
The disadvantage it has is the same as the one apps have, many of them can be outdated, and their quality and performance depend entirely on the plugin author. In Jenkins, plugins can be added, deleted, updated through Manage Plugins from Manage Jenkins.

On installation, Jenkins has a minimum set of plugins, but in order to be able to use Jenkins, multiple plugins should be installed. In addition to installing plugins, Jenkins still needs to configure an E-mail server, and different configurations for Git, Maven, Ant, Java as needed. The main aspects you should keep in mind when deciding to use Jenkins as a CI server are: CPU, memory, and storage requirements.

Here are a few tips on setting up Jenkins:
Jenkins can use Slaves to execute the build process. This means that Jenkins Master can run on a Linux machine, while slaves can run on different platforms, Windows, MacOS X – anything that can run Java, making it possible to run the build process on all supported platforms
• Set limits for the build process. Specify the maximum time that may take to prevent a blocked build to consume all resources.
• Specify the maximum number of old builds that should be archived to avoid filling the disk space.
• Break the build in smaller steps – for example, one step could be to run the tests, the second to run the integration tests, and a third step could be to run the static analysis. Small steps provide faster feedback and make it possible to run multiple steps in parallel. When you break a process in small steps, make sure each step operates on exactly the same source files.

About the author

Ilias spiros
By Ilias spiros

Recent Posts

Archives

Categories