Jenkins Interview Questions and Answers
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.
Most Frequently Asked Jenkins Interview Questions
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.
- If running on Linux, edit the following file:
vi /var/lib/jenkins/config.xml file
- Search for the term <useSecurity>true</useSecurity> and change the word True to False
- Restart the Jenkins Server
Service Jenkins Restart
Pros of using Jenkins
- It's open-source & hosted internally
- Very easy to deploy with support to build pipelines
- A vast range of plugins available
- Integrates with major tools (CVS, Kubernetes, Apache Ant and more)
- Jenkins is flexible and scalable for all sorts of business
- Jenkins has a complimentary API Suite
- Easy to use and a strong community of developers for support
Cons of using Jenkins
- Jenkins can be expensive due to variable load on the server end
- Accountability and management can be challenging due to a single master user
- Lack of efficient and overall analytics besides plugins
- Requires more human resources for the overall management