DevOps Certification Training

[vc_row full_width=”stretch_row” css=”.vc_custom_1559286923229{background-color: #f6f6f7 !important;}”][vc_column width=”1/2″][vc_tta_accordion color=”peacoc” active_section=”1″][vc_tta_section title=”Overview of DevOps” tab_id=”1559286383409-ab730398-6c03″][vc_column_text]Learning Objective: In this module you will be introduced to the DevOps environment.

Topics:

  • Why DevOps?
  • What is DevOps?
  • DevOps Market Trends
  • DevOps Engineer Skills
  • DevOps Delivery Pipeline
  • DevOps Ecosystem

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Version Control with Git” tab_id=”1559286522681-3bf94e12-e7b7″][vc_column_text]Learning Objective: In this module, you will gain the insights of the functionalities and version controlling using Git.

Topics:

  • What is version control?
  • What is Git?
  • Why Git for your organization?
  • Install Git
  • Common commands in Git
  • Working with Remote Repositories

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Git, Jenkins & Maven Integration” tab_id=”1561382593569-b1979b66-b066″][vc_column_text]Learning Objective: In this module, you will learn about the different actions performed through Git and will be introduced to Jenkins and Maven.

Topics:

  • Branching and Merging in Git
  • Git workflows
  • Git cheat sheet
  • What is CI?
  • Why CI is Required?
  • Introduction to Jenkins (With Architecture)
  • Introduction to Maven

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Continuous Integration using Jenkins” tab_id=”1561382595833-dd54d407-26c0″][vc_column_text]Learning Objective: In this module, you will learn how to perform Continuous Integration using Jenkins by building and automating test cases using Maven.

Topics:

  • Jenkins Management
  • Adding a slave node to Jenkins
  • Building Delivery Pipeline
  • Pipeline as a Code
  • Implementation of Jenkins in the Edureka Project

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Continuous Testing with Selenium” tab_id=”1561382597303-5168678c-55b9″][vc_column_text]Learning Objective: In this module, you will learn about Selenium and how to automate your test cases for testing web elements. You will also get introduced to X-Path, TestNG and integrate Selenium with Jenkins.

Topics:

  • Introduction to Selenium
  • Why Selenium?
  • Selenium – Webdriver
  • Creating Test Cases in Selenium WebDriver (Waits)
  • What and why X-Path?
  • Handling different controls on Webpage
  • Framework in Selenium
  • Selenium Integration with Jenkins
  • Implementation of Selenium in the Edureka Project

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Continuous Deployment: Containerization with Docker” tab_id=”1561539494944-84442b8f-acc3″][vc_column_text]Learning Objective: This module introduces Docker to learners, the core concepts and technology behind Docker. Learn in detail about container and various operations performed on it.

Topics:

  • Shipping Transportation Challenges
  • Introducing Docker
  • Understanding images and containers
  • Running Hello World in Docker
  • Introduction to Container
  • Container Life Cycle
  • Sharing and Copying
  • Base Image
  • Docker File
  • Working with containers
  • Publishing Image on Docker Hub

[/vc_column_text][/vc_tta_section][vc_tta_section title=”What are the fundamental differences between DevOps & Agile?” tab_id=”1584103254727-ec9952a2-259b”][vc_column_text]The differences between the two are listed down in the table below.

 
Features DevOps Agile
Agility Agility in both Development & Operations Agility in only Development
Processes/ Practices Involves processes such as CI, CD, CT, etc. Involves practices such as Agile Scrum, Agile Kanban, etc.
Key Focus Area Timeliness & quality have equal priority Timeliness is the main priority
Release Cycles/ Development Sprints Smaller release cycles with immediate feedback Smaller release cycles
Source of Feedback Feedback is from self (Monitoring tools) Feedback is from customers
Scope of Work Agility & need for Automation Agility only

[/vc_column_text][/vc_tta_section][vc_tta_section title=”What is the need for DevOps?” tab_id=”1584103255616-58f4b8fc-3f6c”][vc_column_text]According to me, this answer should start by explaining the general market trend. Instead of releasing big sets of features, companies are trying to see if small features can be transported to their customers through a series of release trains. This has many advantages like quick feedback from customers, better quality of software etc. which in turn leads to high customer satisfaction. To achieve this, companies are required to:

  1. Increase deployment frequency
  2. Lower failure rate of new releases
  3. Shortened lead time between fixes
  4. Faster mean time to recovery in the event of new release crashing

DevOps fulfills all these requirements and helps in achieving seamless software delivery. You can give examples of companies like Etsy, Google and Amazon which have adopted DevOps to achieve levels of performance that were unthinkable even five years ago. They are doing tens, hundreds or even thousands of code deployments per day while delivering world class stability, reliability and security.

If I have to test your knowledge on DevOps, you should know the difference between Agile and DevOps. The next question is directed towards that.[/vc_column_text][/vc_tta_section][vc_tta_section title=”How is DevOps different from Agile / SDLC?” tab_id=”1584103256402-a1c89f37-b4bb”][vc_column_text]I would advise you to go with the below explanation:

Agile is a set of values and principles about how to produce i.e. develop software. Example: if you have some ideas and you want to turn those ideas into working software, you can use the Agile values and principles as a way to do that. But, that software might only be working on a developer’s laptop or in a test environment. You want a way to quickly, easily and repeatably move that software into production infrastructure, in a safe and simple way. To do that you need DevOps tools and techniques.

You can summarize by saying Agile software development methodology focuses on the development of software but DevOps on the other hand is responsible for development as well as deployment of the software in the safest and most reliable way possible. Here’s a blog that will give you more information on the evolution of DevOps.

Now remember, you have included DevOps tools in your previous answer so be prepared to answer some questions related to that.[/vc_column_text][/vc_tta_section][vc_tta_section title=”Which are the top DevOps tools? Which tools have you worked on?” tab_id=”1584103257192-b428c3cf-9569″][vc_column_text]The most popular DevOps tools are mentioned below:

  • Git : Version Control System tool
  • Jenkins : Continuous Integration tool
  • Selenium : Continuous Testing tool
  • Puppet, Chef, Ansible : Configuration Management and Deployment tools
  • Nagios : Continuous Monitoring tool
  • Docker : Containerization tool

You can also mention any other tool if you want, but make sure you include the above tools in your answer.
The second part of the answer has two possibilities:

  1. If you have experience with all the above tools then you can say that I have worked on all these tools for developing good quality software and deploying those softwares easily, frequently, and reliably.
  2. If you have experience only with some of the above tools then mention those tools and say that I have specialization in these tools and have an overview about the rest of the tools.

Our DevOps certification course includes hands-on training on the most popular DevOps tools. Find out when the next batch starts.[/vc_column_text][/vc_tta_section][vc_tta_section title=”How do all these tools work together?” tab_id=”1584103258018-f6abe417-caf2″][vc_column_text]Given below is a generic logical flow where everything gets automated for seamless delivery. However, this flow may vary from organization to organization as per the requirement.

  1. Developers develop the code and this source code is managed by Version Control System tools like Git etc.
  2. Developers send this code to the Git repository and any changes made in the code is committed to this Repository.
  3. Jenkins pulls this code from the repository using the Git plugin and build it using tools like Ant or Maven.
  4. Configuration management tools like puppet deploys & provisions testing environment and then Jenkins releases this code on the test environment on which testing is done using tools like selenium.
  5. Once the code is tested, Jenkins send it for deployment on the production server (even production server is provisioned & maintained by tools like puppet).
  6. After deployment It is continuously monitored by tools like Nagios.
  7. Docker containers provides testing environment to test the build features.

[/vc_column_text][/vc_tta_section][vc_tta_section title=”What are the advantages of DevOps?” tab_id=”1584103258627-d98194ac-8fd6″][vc_column_text]For this answer, you can use your past experience and explain how DevOps helped you in your previous job. If you don’t have any such experience, then you can mention the below advantages.

Technical benefits:

  • Continuous software delivery
  • Less complex problems to fix
  • Faster resolution of problems

Business benefits:

  • Faster delivery of features
  • More stable operating environments
  • More time available to add value (rather than fix/maintain)

[/vc_column_text][/vc_tta_section][vc_tta_section title=”What is the most important thing DevOps helps us achieve?” tab_id=”1584103259113-56675e7f-f213″][vc_column_text]According to me, the most important thing that DevOps helps us achieve is to get the changes into production as quickly as possible while minimizing risks in software quality assurance and compliance. This is the primary objective of DevOps. Learn more in this DevOps tutorial blog.
However, you can add many other positive effects of DevOps. For example, clearer communication and better working relationships between teams i.e. both the Ops team and Dev team collaborate together to deliver good quality software which in turn leads to higher customer satisfaction.[/vc_column_text][/vc_tta_section][vc_tta_section title=”Explain with a use case where DevOps can be used in industry/ real-life.” tab_id=”1584103259951-91cd49c1-b449″][vc_column_text]There are many industries that are using DevOps so you can mention any of those use cases, you can also refer the below example:
Etsy is a peer-to-peer e-commerce website focused on handmade or vintage items and supplies, as well as unique factory-manufactured items. Etsy struggled with slow, painful site updates that frequently caused the site to go down. It affected sales for millions of Etsy’s users who sold goods through online market place and risked driving them to the competitor.
With the help of a new technical management team, Etsy transitioned from its waterfall model, which produced four-hour full-site deployments twice weekly, to a more agile approach. Today, it has a fully automated deployment pipeline, and its continuous delivery practices have reportedly resulted in more than 50 deployments a day with fewer disruptions.[/vc_column_text][/vc_tta_section][vc_tta_section title=”Explain your understanding and expertise on both the software development side and the technical operations side of an organization you have worked with in the past.” tab_id=”1584103260756-e195f099-c2dc”][vc_column_text]For this answer, share your past experience and try to explain how flexible you were in your previous job. You can refer the below example:
DevOps engineers almost always work in a 24/7 business-critical online environment. I was adaptable to on-call duties and was available to take up real-time, live-system responsibility. I successfully automated processes to support continuous software deployments. I have experience with public/private clouds, tools like Chef or Puppet, scripting and automation with tools like Python and PHP, and a background in Agile.[/vc_column_text][/vc_tta_section][vc_tta_section title=”What are the anti-patterns of DevOps?” tab_id=”1584103261291-54206dc2-e358″][vc_column_text]A pattern is common usage usually followed. If a pattern commonly adopted by others does not work for your organization and you continue to blindly follow it, you are essentially adopting an anti-pattern. There are myths about DevOps. Some of them include:

  • DevOps is a process
  • Agile equals DevOps?
  • We need a separate DevOps group
  • Devops will solve all our problems
  • DevOps means Developers Managing Production
  • DevOps is Development-driven release management
    1. DevOps is not development driven.
    2. DevOps is not IT Operations driven.
  • We can’t do DevOps – We’re Unique
  • We can’t do DevOps – We’ve got the wrong people

Now let’s look at some interview questions on VCS. If you would like to get hands-on training on a VCS like Git, it’s included in our DevOps Certification course.[/vc_column_text][/vc_tta_section][vc_tta_section title=”What is Version control?” tab_id=”1584103262362-48664ae9-9f30″][vc_column_text]This is probably the easiest question you will face in the interview. My suggestion is to first give a definition of Version control. It is a system that records changes to a file or set of files over time so that you can recall specific versions later. Version control systems consist of a central shared repository where teammates can commit changes to a file or set of file. Then you can mention the uses of version control.

Version control allows you to:

  • Revert files back to a previous state.
  • Revert the entire project back to a previous state.
  • Compare changes over time.
  • See who last modified something that might be causing a problem.
  • Who introduced an issue and when.

[/vc_column_text][/vc_tta_section][vc_tta_section title=”What are the benefits of using version control?” tab_id=”1584103272123-8a80ec89-0e1f”][vc_column_text]I will suggest you to include the following advantages of version control:

  1. With Version Control System (VCS), all the team members are allowed to work freely on any file at any time. VCS will later allow you to merge all the changes into a common version.
  2. All the past versions and variants are neatly packed up inside the VCS. When you need it, you can request any version at any time and you’ll have a snapshot of the complete project right at hand.
  3. Every time you save a new version of your project, your VCS requires you to provide a short description of what was changed. Additionally, you can see what exactly was changed in the file’s content. This allows you to know who has made what change in the project.
  4. A distributed VCS like Git allows all the team members to have complete history of the project so if there is a breakdown in the central server you can use any of your teammate’s local Git repository.

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Describe branching strategies you have used.” tab_id=”1584103273265-12e9fff3-31f6″][vc_column_text]This question is asked to test your branching experience so tell them about how you have used branching in your previous job and what purpose does it serves, you can refer the below points:

  • Feature branching
    A feature branch model keeps all of the changes for a particular feature inside of a branch. When the feature is fully tested and validated by automated tests, the branch is then merged into master.
  • Task branching
    In this model each task is implemented on its own branch with the task key included in the branch name. It is easy to see which code implements which task, just look for the task key in the branch name.
  • Release branching
    Once the develop branch has acquired enough features for a release, you can clone that branch to form a Release branch. Creating this branch starts the next release cycle, so no new features can be added after this point, only bug fixes, documentation generation, and other release-oriented tasks should go in this branch. Once it is ready to ship, the release gets merged into master and tagged with a version number. In addition, it should be merged back into develop branch, which may have progressed since the release was initiated.

In the end tell them that branching strategies varies from one organization to another, so I know basic branching operations like delete, merge, checking out a branch etc.[/vc_column_text][/vc_tta_section][vc_tta_section title=”Which VCS tool you are comfortable with?” tab_id=”1584103275729-ff2701ac-9e32″][vc_column_text]You can just mention the VCS tool that you have worked on like this: “I have worked on Git and one major advantage it has over other VCS tools like SVN is that it is a distributed version control system.”
Distributed VCS tools do not necessarily rely on a central server to store all the versions of a project’s files. Instead, every developer “clones” a copy of a repository and has the full history of the project on their own hard drive.[/vc_column_text][/vc_tta_section][/vc_tta_accordion][/vc_column][vc_column width=”1/2″][vc_tta_accordion color=”peacoc” active_section=”1″][vc_tta_section title=”Continuous Testing with Selenium” tab_id=”1561382561432-7f73ef2a-cc67″][vc_column_text]Learning Objective: In this module, you will learn about Selenium and how to automate your test cases for testing web elements. You will also get introduced to X-Path, TestNG and integrate Selenium with Jenkins.

Topics:

  • Introduction to Selenium
  • Why Selenium?
  • Selenium – Webdriver
  • Creating Test Cases in Selenium WebDriver (Waits)
  • What and why X-Path?

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Containerization with Docker: Ecosystem and Networking” tab_id=”1561382561455-654071d3-eb53″][vc_column_text]Learning Objective: In this module, you will learn to integrate different containers using Docker.

Topics:

  • Introduction to Docker Ecosystem
  • Docker Compose
  • Docker Swarm
  • Managing Containers
  • Running Containers
  • Introduction to Docker Networking
  • Network Types
  • Docker Container Networking
  • Implementation of Docker in the Edureka Project

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Continuous Deployment: Configuration Management with Puppet” tab_id=”1561382611424-56181e07-6453″][vc_column_text]Learning Objective: In this module, you will learn to install and configure Puppet. Additionally, understand the master-agent architecture in Puppet.

Topics:

  • Introduction to Puppet
  • Puppet Installation
  • Puppet Configuration
  • Puppet Master and Agent Setup
  • Puppet Module
  • Node Classification
  • Puppet Environment
  • Puppet Classes
  • Automation & Reporting

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Configuration Management with Ansible” tab_id=”1561382613753-7c9c9136-4ca1″][vc_column_text]Learning Objective: In this module, you will learn to install Ansible and configure Ansible roles. You will also learn to write playbooks and finally execute ad-commands using Ansible.

Topics:

  • Introduction to Ansible
  • Ansible Installation
  • Configuring Ansible Roles
  • Write Playbooks
  • Executing adhoc command

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Containerization using Kubernetes” tab_id=”1561382614729-6b63842b-62b1″][vc_column_text]Learning Objective: In this module, you will learn the basics of Kubernetes and its integration with Docker.

Topics:

  • Revisiting Kubernetes Cluster Architecture
  • Spinning up a Kubernetes Cluster on Ubuntu VMs
  • Exploring your Cluster
  • Understanding YAML
  • Creating a Deployment in Kubernetes using YAML
  • Creating a Service in Kubernetes
  • Installing Kubernetes Dashboard
  • Deploying an App using Dashboard
  • Using Rolling Updates in Kubernetes
  • Containers and Container Orchestration
  • Introduction to Kubernetes

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Continuous Monitoring with Nagios” tab_id=”1561382651188-733a0ad7-4f7c”][vc_column_text]Learning Objective: Learn how to continuously monitor your tasks using various plugins and implementing Nagios Commands.

Topics:

  • Introduction to Continuous Monitoring
  • Introduction to Nagios
  • Installing Nagios
  • Nagios Plugins(NRPE) and Objects
  • Nagios Commands and Notification

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Introduction to DevOps on Cloud” tab_id=”1561382674843-1f0b68aa-358c”][vc_column_text]Learning Objective: Learn about various cloud services and service providers and get an idea of how to implement DevOps using AWS.

Topics:

  • Why Cloud?
  • Introduction to Cloud Computing
  • Why DevOps on Cloud?
  • Introduction to AWS
  • Various AWS services
  • DevOps using AWS

[/vc_column_text][/vc_tta_section][vc_tta_section title=”What is Git?” tab_id=”1584103263609-9f403610-61f3″][vc_column_text]I will suggest that you attempt this question by first explaining about the architecture of git as shown in the below diagram. You can refer to the explanation given below:

  • Git is a Distributed Version Control system (DVCS). It can track changes to a file and allows you to revert back to any particular change.
  • Its distributed architecture provides many advantages over other Version Control Systems (VCS) like SVN one major advantage is that it does not rely on a central server to store all the versions of a project’s files. Instead, every developer “clones” a copy of a repository I have shown in the diagram below with “Local repository” and has the full history of the project on his hard drive so that when there is a server outage, all you need for recovery is one of your teammate’s local Git repository.
  • There is a central cloud repository as well where developers can commit changes and share it with other teammates as you can see in the diagram where all collaborators are commiting changes “Remote repository”.

[/vc_column_text][/vc_tta_section][vc_tta_section title=”In Git how do you revert a commit that has already been pushed and made public?” tab_id=”1584103264527-aa65a92a-cc06″][vc_column_text]There can be two answers to this question so make sure that you include both because any of the below options can be used depending on the situation:

  • Remove or fix the bad file in a new commit and push it to the remote repository. This is the most natural way to fix an error. Once you have made necessary changes to the file, commit it to the remote repository for that I will use
    git commit -m “commit message”
  • Create a new commit that undoes all changes that were made in the bad commit.to do this I will use a command
    git revert <name of bad commit>

[/vc_column_text][/vc_tta_section][vc_tta_section title=”How do you squash last N commits into a single commit?” tab_id=”1584103265047-7e8ba5ab-bf67″][vc_column_text]There are two options to squash last N commits into a single commit. Include both of the below mentioned options in your answer:

  • If you want to write the new commit message from scratch use the following command
    git reset –soft HEAD~N &&
    git commit
  • If you want to start editing the new commit message with a concatenation of the existing commit messages then you need to extract those messages and pass them to Git commit for that I will use
    git reset –soft HEAD~N &&
    git commit –edit -m”$(git log –format=%B –reverse .HEAD@{N})”

[/vc_column_text][/vc_tta_section][vc_tta_section title=”What is Git bisect? How can you use it to determine the source of a (regression) bug?” tab_id=”1584103265727-a52a9042-3d55″][vc_column_text]I will suggest you to first give a small definition of Git bisect, Git bisect is used to find the commit that introduced a bug by using binary search. Command for Git bisect is
git bisect <subcommand> <options>
Now since you have mentioned the command above, explain what this command will do, This command uses a binary search algorithm to find which commit in your project’s history introduced a bug. You use it by first telling it a “bad” commit that is known to contain the bug, and a “good” commit that is known to be before the bug was introduced. Then Git bisect picks a commit between those two endpoints and asks you whether the selected commit is “good” or “bad”. It continues narrowing down the range until it finds the exact commit that introduced the change.[/vc_column_text][/vc_tta_section][vc_tta_section title=”What is Git rebase and how can it be used to resolve conflicts in a feature branch before merge?” tab_id=”1584103266418-54f533d8-6a88″][vc_column_text]According to me, you should start by saying git rebase is a command which will merge another branch into the branch where you are currently working, and move all of the local commits that are ahead of the rebased branch to the top of the history on that branch.
Now once you have defined Git rebase time for an example to show how it can be used to resolve conflicts in a feature branch before merge, if a feature branch was created from master, and since then the master branch has received new commits, Git rebase can be used to move the feature branch to the tip of master.
The command effectively will replay the changes made in the feature branch at the tip of master, allowing conflicts to be resolved in the process. When done with care, this will allow the feature branch to be merged into master with relative ease and sometimes as a simple fast-forward operation.[/vc_column_text][/vc_tta_section][vc_tta_section title=”How do you configure a Git repository to run code sanity checking tools right before making commits, and preventing them if the test fails?” tab_id=”1584103266889-f7475c77-22ea”][vc_column_text]I will suggest you to first give a small introduction to sanity checking, A sanity or smoke test determines whether it is possible and reasonable to continue testing.
Now explain how to achieve this, this can be done with a simple script related to the pre-commit hook of the repository. The pre-commit hook is triggered right before a commit is made, even before you are required to enter a commit message. In this script one can run other tools, such as linters and perform sanity checks on the changes being committed into the repository.
Finally give an example, you can refer the below script:
#!/bin/sh
files=$(git diff –cached –name-only –diff-filter=ACM | grep ‘.go$’)
if [ -z files ]; then
exit 0
fi
unfmtd=$(gofmt -l $files)
if [ -z unfmtd ]; then
exit 0
fi
echo “Some .go files are not fmt’d”
exit 1
This script checks to see if any .go file that is about to be committed needs to be passed through the standard Go source code formatting tool gofmt. By exiting with a non-zero status, the script effectively prevents the commit from being applied to the repository.[/vc_column_text][/vc_tta_section][vc_tta_section title=”How do you find a list of files that has changed in a particular commit?” tab_id=”1584103267384-b611f3d7-158d”][vc_column_text]For this answer instead of just telling the command, explain what exactly this command will do so you can say that, To get a list files that has changed in a particular commit use command
git diff-tree -r {hash}
Given the commit hash, this will list all the files that were changed or added in that commit. The -r flag makes the command list individual files, rather than collapsing them into root directory names only.
You can also include the below mention point although it is totally optional but will help in impressing the interviewer.
The output will also include some extra information, which can be easily suppressed by including two flags:
git diff-tree –no-commit-id –name-only -r {hash}
Here –no-commit-id will suppress the commit hashes from appearing in the output, and –name-only will only print the file names, instead of their paths.[/vc_column_text][/vc_tta_section][vc_tta_section title=”How do you setup a script to run every time a repository receives new commits through push?” tab_id=”1584103268320-3273b1c3-94f2″][vc_column_text]There are three ways to configure a script to run every time a repository receives new commits through push, one needs to define either a pre-receive, update, or a post-receive hook depending on when exactly the script needs to be triggered.

  • Pre-receive hook in the destination repository is invoked when commits are pushed to it. Any script bound to this hook will be executed before any references are updated. This is a useful hook to run scripts that help enforce development policies.
  • Update hook works in a similar manner to pre-receive hook, and is also triggered before any updates are actually made. However, the update hook is called once for every commit that has been pushed to the destination repository.
  • Finally, post-receive hook in the repository is invoked after the updates have been accepted into the destination repository. This is an ideal place to configure simple deployment scripts, invoke some continuous integration systems, dispatch notification emails to repository maintainers, etc.

Hooks are local to every Git repository and are not versioned. Scripts can either be created within the hooks directory inside the “.git” directory, or they can be created elsewhere and links to those scripts can be placed within the directory.[/vc_column_text][/vc_tta_section][vc_tta_section title=”How will you know in Git if a branch has already been merged into master?” tab_id=”1584103269972-f8323350-6c4d”][vc_column_text]I will suggest you to include both the below mentioned commands:
git branch –merged lists the branches that have been merged into the current branch.
git branch –no-merged lists the branches that have not been merged.[/vc_column_text][/vc_tta_section][vc_tta_section title=” What is meant by Continuous Integration?” tab_id=”1584103270826-c018751f-9946″][vc_column_text]I will advise you to begin this answer by giving a small definition of Continuous Integration (CI). It is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
I suggest that you explain how you have implemented it in your previous job.[/vc_column_text][/vc_tta_section][vc_tta_section title=”Why do you need a Continuous Integration of Dev & Testing?” tab_id=”1584103274305-263a99b0-9290″][vc_column_text]For this answer, you should focus on the need of Continuous Integration. My suggestion would be to mention the below explanation in your answer:
Continuous Integration of Dev and Testing improves the quality of software, and reduces the time taken to deliver it, by replacing the traditional practice of testing after completing all development. It allows Dev team to easily detect and locate problems early because developers need to integrate code into a shared repository several times a day (more frequently). Each check-in is then automatically tested.[/vc_column_text][/vc_tta_section][vc_tta_section title=”What are the success factors for Continuous Integration?” tab_id=”1584103276900-cd979f69-8945″][vc_column_text]Here you have to mention the requirements for Continuous Integration. You could include the following points in your answer:

  • Maintain a code repository
  • Automate the build
  • Make the build self-testing
  • Everyone commits to the baseline every day
  • Every commit (to baseline) should be built
  • Keep the build fast
  • Test in a clone of the production environment
  • Make it easy to get the latest deliverables
  • Everyone can see the results of the latest build
  • Automate deployment

[/vc_column_text][/vc_tta_section][vc_tta_section title=”Explain how you can move or copy Jenkins from one server to another?” tab_id=”1584103278091-47c9e696-a7fa”][vc_column_text]I will approach this task by copying the jobs directory from the old server to the new one. There are multiple ways to do that; I have mentioned them below:
You can:

  • Move a job from one installation of Jenkins to another by simply copying the corresponding job directory.
  • Make a copy of an existing job by making a clone of a job directory by a different name.
  • Rename an existing job by renaming a directory. Note that if you change a job name you will need to change any other job that tries to call the renamed job.

[/vc_column_text][/vc_tta_section][/vc_tta_accordion][/vc_column][/vc_row][vc_row full_width=”stretch_row_content_no_spaces” css=”.vc_custom_1561628254229{background-image: url(https://www.coursesit.us/wp-content/uploads/2019/06/slider-2-4-1278×413.jpg?id=7149) !important;background-position: center !important;background-repeat: no-repeat !important;background-size: cover !important;}”][vc_column][vc_empty_space height=”502px”][/vc_column][/vc_row]

WhatsApp us