Here we have compiled the most probable DevOps interview questions asked in the industry. You will learn about software version control, Git repository, reverting a commit in Git, Vagrant, continuous testing elements, and the importance of continuous integration, testing, and deployment. These questions are curated after discussing with many interviewers and DevOps Training experts.
Here are some important plugins which are good to use in Jenkins:-
3 Thin backup plugin
4 Copy Artifact
5 Shelve project
6 Green Balls
7 Amazon EC2
9 Sonarqube and etc..
Jenkins comes with the following features…
1. It is a Free open source.
2. Easy to install on various operating systems
3. Supports Build Pipeline
4. Supports Master/Slave architecture
5. Supports third party tool integration
6. It has both GUI and CLI
7. It has built-in test harness
8. Easily upgradable
9. Records build events/logs
10. Has notifications alerts system (through mails)
11. Supports configuring Environmental Variables
12. Has vast collection of plugins
Jenkins is an automation tool. It saves human time, just one click triggers the Code Build, Tests it and Deploys it to the specified environment.
The Advantages of Jenkins are as follows:
1. Jenkins is free of cost, easy to install and requires almost zero maintenance (easily upgradable).
2. Easy to install on various operating systems as it is platform independent.
3. Execution sequence of jobs can be managed using the build pipeline.
4. Computing power is not limited, we can add any number of machines to it, as it supports Master/Slave architecture.
5. Third party tool integration is very easy, GIT, Maven, Docker, Nexus, Sonarqube etc can be easily integrated.
6. It has both a Graphical User interface and Command line interface.
7. Jenkins test the code before code build as it has built-in test harness
8. Records each and every build events/logs whether the build is success of fail, and notifies all users with an email.
9. Jenkins has more than 1000 plugins used for integrations of hundreds of tools and services. And more than 1500 communities contribute to Jenkins plugins.
The Jenkinsfile is a text file written in a groovy script. where all the stages of the pipeline are defined. And it is stored in the root directory of the project and pushed into a source code repository. This file triggers the build of jobs in the pipeline.
SCM is a source code management tool that manages the versions of the project code and specifies the path of source code to jenkins (of course to the latest version). And Jenkins supports almost all SCM tools like,
Here are some Popular CI Tools in the market,
2. Gitlab CI
3. Travis CI
4. Circle CI
6. GO CD
7. Teamcity and
Here are some major points to make sure that the project build does not break.
If you are using Jenkins(jenkins.war file in webapps) in Apache Tomcat then Log files should be at $TOMCAT HOME/logs/catalina.2020-02-02.log.
Log files should be at this location /var/log/jenkins/jenkins.log, unless customized in
(for *.deb) /etc/default/jenkins,
(for */rpm) /etc/sysconfig/jenkins.
Log files should be at this location %JENKINS_HOME%/jenkins.out and %JENKINS_HOME%/jenkins.err, unless customized in %JENKINS_HOME%/jenkins.xml
In Mac OS X:
Log files should be at this location /var/log/jenkins/jenkins.log, unless customized in org.jenkins-ci.plist.
If you run Jenkins inside docker as a detached container, you can use $docker logs < containerId > to view the Jenkins logs.
Jenkins global configurations are stored in "%USER_HOME%/.jenkins/config.xml"
And Jenkins Job configurations are stored in "%USER_HOME%/.jenkins/jobs/%JOB_NAME%/config.xml".
Go to %TOMCAT_HOME%/conf/server.xml, Change port number 8080 to whatever you want.
For example : <connector port="xxxx" Protocol ="HTTP/1.1"
Go to %USER_HOME%/.jenkins/config.xml and change the port number as per your need.