DevOps is a software development practice that combines development and operations (DevOps) to
speed up and improve software delivery
DevOps tools? ------- Selenium, Puppet, Chef, git, Jenkins, Ansible, Docker
various phases of the DevOps lifecycle -------Plan, Code, Build, Test, Integrate, Deploy, Operate,
Monitor,
What are the key components of DevOps?
The most important components of DevOps are:
• • Continuous Integration
• • Continuous Testing
• • Continuous Delivery
• • Continuous Monitoring
• What is CI?
CI is a software development practice where developers frequently integrate new code
into a shared repository, usually multiple times a day. Each integration is then
automatically built and tested to verify it. The goal of CI is to identify and fix integration
issues early in the development process.
Continuous deployment (CD) is a software development strategy that allows code changes
to an application to be automatically released into the production environment. It's an
optional step-up from continuous delivery (CI), which focuses on integration and
testing. CD takes the output from the delivery pipeline and deploys it to the production
system in a safe and automated wa
Diff Btw CI/CD ------- Ensures code can be safely deployed on to production / Every change that
passes the automated tests is deployed to production automatically
Ensures business applications and services function as expected / Makes software development
and the release process faster and more robust
difference between a centralized and distributed version control system--------- Centralized Version
Control System
All file versions are stored on a central server
No developer has a copy of all files on a local system
If the central server crashes, all data from the project will be lost
Distributed Control System
Every developer has a copy of all versions of the code on their systems
Enables team members to work offline and does not rely on a single location for backups
There is no threat, even if the server crashes
What is Git--------Git is a popular version control system. It was created by Linus
Torvalds in 2005, and has been maintained by Junio Hamano since then.
7093478562
GitHub is------ a cloud-based platform that helps developers store, manage, and
share code
Git commands ------- git config , git init, git clone , git add , git commit , git diff , git reset , git
status , git rm , git log , git show ,
Explain Git Bisect
Git bisect helps you to find the commit which introduced a bug using binary
search.
What is Jenkins ------ Jenkins is an open-source, free, and modular DevOps tool
that helps developers automate and speed up the software development process
What is Jenkins file----- Jenkinsfile contains the definition of a Jenkins pipeline and is
checked into the source control repository. It is a text file. It allows code review and
iteration on the pipeline.
It permits an audit trail for the pipeline.
What is Vagrant?
A vagrant is a tool which can create and manage virtualized environments for testing and developing software.
What is Chef?
It is a powerful automation platform which transforms infrastructure into code. In this tool, you can use write scripts that
are used to automate processes.
Jenkins provides two ways of developing a pipeline code: Scripted and Declarative
Scripted Pipeline: It is based on Groovy script as their Domain Specific Language. One
or more node blocks do the core work throughout the entire pipeline.
Declarative Pipeline: It provides a simple and friendly syntax to define a pipeline. Here, the
pipeline block defines the work done throughout the pipeline.
How do you create a backup and copy files in Jenkins?
In order to create a backup file, periodically back up your JENKINS_HOME directory.
Puppet is a DevOps tool that automates and centralizes configuration management for Linux
and Windows systems
Ansible is an open-source DevOps tool that automates, configures, and manages IT
infrastructure
Docker is an open platform for developing, shipping, and running
applications. Docker enables you to separate your applications from your infrastructure so you can
deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your
applications.
It is possible to share Docker containers on different nodes with Docker Swarm.
commands used to create a Docker swarm?
Docker swarm init --advertise-addr <MANAGER-IP>
Dockerfile used for?--------- A Dockerfile is used for creating Docker images using the
build command.
With a Docker image, any user can run the code to create Docker containers.
Once a Docker image is built, it's uploaded in a Docker registry.
. What are the cloud platforms that support Docker?
The following are the cloud platforms that Docker runs on:
Amazon Web Services
Microsoft Azure
Google Cloud Platform
purpose of the expose and publish commands in Docker?
Expose is an instruction used in Dockerfile.
It is used to expose ports within a Docker network.
Publish is used in a Docker run command.
It can be used outside a Docker environment
Continuous monitoring (CCM) in DevOps is an automated process that uses
software to regularly check systems, networks, and data for signs of performance degradation,
security threats, and compliance issues
What is a version control system (VCS)?
A VCS is a software tool that allows developers to manage changes to the source code of a software
project. It enables developers to track and manage different versions of code files, collaborate with
others, and revert to earlier versions if necessary.
. What is a hypervisor?
A hypervisor is a layer of software that enables virtualization by allowing multiple virtual machines to
share a single physical server or computer. It manages the allocation of hardware resources to each
virtual machine and isolates each virtual machine from the others.
Cloud information
The cloud is a network of remote servers that are connected and work together to provide computing
services over the internet. These services include storage, databases, networking, software, analytics, and
intelligence. Cloud computing allows users to access these services through their internet-connected
devices, such as computers, smartphones, tablets, and wearables