Jenkins is a free and open-source build and test automation server-based system written in Java with hundreds of plugins. It is used to build and test software projects continuously, making it easier for developers to integrate frequent changes to projects. Fundamentally, it automates software development activities such as building, testing, and deploying in a continuous manner.
This key competency area includes configuring project builds, scheduling builds, setting up email notifications, and creating scripts for proper backup and restore of the Jenkins server.
- Installation and Setup - Knowledge of how to download the Jenkins server and install it on various operating systems. Ability to setup up basic authentication and configure the Jenkins storage directory.
- Understanding SCM and Build Tools - Understanding the basics of various version controls systems like git, svn, etc, as well as an understanding of the basics of build tools like maven, Gradle, etc.
- Establishing basic Job and Email notifications - Knowledge of the basics of Jenkins Web UI to configure SCM repository, and email notifications, upon build failure.
- Configuring Scheduled Builds - Knowledge of how to configure the scheduled builds using the Cron jobs that execute at the regular intervals.
- Backup and Restore methodology - Knowledge of how to backup Jenkins server data including settings and restore later on to the same machine or on different machines.