Jenkins is a free and open-source CI-based automation server. It helps to automate the non-human part of development using continuous integration and technical factors of continuous delivery.
Being a server-based system that runs on servlet containers, for example, Apache Tomcat, supporting various version control tools such as AccuRev, Subversion, CVS, Git, Mercurial and is able to execute ApacheAnt, Apache Maven and sbt oriented projects.
Jenkins Interview Questions is a guide to budding developers to help focus on important questions being asked in organizations nowadays.
Here in this article, we will be listing frequently asked Jenkins Interview Questions and Answers with the belief that they will be helpful for you to gain higher marks. Also, to let you know that this article has been written under the guidance of industry professionals and covered all the current competencies.
JENKINS | BAMBOO |
---|---|
Open Source | Not Open-Source |
UI has a simple functionality | More efficient and organized UI |
Basic config(Jira & Bitbucket) is limited | In-built basic Configurations |
A wider range of Plugins with 1000+ plugins available | Less Plugin support with only 100+ plugins available |
Provides scope for Basic Automation | More focused on Build, Test and Deployment sectors |
Note: These are basic questions that are asked during a Jenkins interview question for DevOps candidates.
HUDSON | JENKINS |
---|---|
Fewer releases with more focus on backward compatibility | More releases with riskier compatibility issues |
Focused more on Maven and/or Nexus Integration | Focused on more active community support |
Professional support from Sonatype or Oracle, sometimes | Support only from Original Creator |
A small community of plugin developers | Classic OSS Style Development Ecosystem |
A pipeline in Jenkins refers to a suite of plugins that help implement & integrate Continuous Delivery Pipelines throughout Jenkins. A continuous delivery pipeline is an automated expression for getting software from version control right through to your users and consumers.
By default, Jenkins 1.x does not perform any security checks. But, you can manually change that by customizing access controls and configuring it as per one’s need.
Access control locks down access to the Jenkins UI Console and users may log in to get access via Passwords.
One more feature in Jenkins for security is the additional subsystems to prevent direct and indirect attacks on the system.
To create pipelines in Jenkins, you must have a Jenkins instance setup with the appropriate plugins:
After downloading the Jenkins installation file for Windows, go to your CMD Terminal and run the following command:
jenkins.exe start
Note: These are basic Jenkins interview questions a candidate must know the answers to.
Poll SCM periodically polls the SCM to check whether the changes were made (i.e. new commits) and also builds the project if there are new commits pushed since the last updated build.
A file parameter is Jenkins allows a build to accept new files which are to be submitted by the user when scheduling a new build. The uploaded file shall be placed inside the workspace at the set location after the process of check-out/update is done.
JENKINS | DOCKER |
---|---|
CI Engine which is used to build/test apps | Container engine used to manage and create containers |
Automated Server Tool used for testing apps | Used to build and run multiple portable environments of a software stack |
Provides an easy interface to create and manage multiple CI/CD Pipelines | It's only a container engine to hold a software application |
Can be used to build Docker Images based on a DockerFile | Its plugin can be used to build containers for any application in Jenkins |
Jenkins home directory contains all the details of the Jenkins server configuration, the details that are configured in the Manage Jenkins screen. These configuration details are stored in the form of a set of XML files, for example, a config.xml file It’s default directory is .jenkins or .hudson (for older version)
Note: These are basic Jenkins interview questions and have a higher probability of being asked.
CI stands for Continuous Integration and it is the practice of automating the integration of code changes from multiple contributors in a software application.
CD stands for Continuous Delivery and it refers to the ability to get change such as configuration, bug fixes and experiments from build to production or directly to the end-user in a quick and sustainable way.
An upstream project is one in which a job is triggered before the actual project is triggered. Whereas, Downstream project is one in which a job is triggered after the project has been triggered.
Groovy Script is a Java-syntax compatible Object-Oriented Programming language for a Java Platform. It is used in Jenkins to orchestrate/create pipelines. Being flexible in terms of languages, it's used as a glue for combining code in different languages into a single project.
To reset the Jenkins admin password, simply disable the security in the config.xml file.
vi /var/lib/jenkins/config.xml file
Service Jenkins Restart