SEPM Lab Manual Without Code
SEPM Lab Manual Without Code
EXPERIMENT NO- 1
AIM: To understand DevOps: Principles, Practices, and DevOps Engineer Role and
Responsibilities.
RESOURCES REQUIRED: Pentium IV & above, Browser, Internet, Printer, and Printout
Stationary
THEORY:
• Operations team gives feedback to development team of any bugs present in s/w.
Problems-
Solution is DevOps-
1
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
• a practice that aims at merging development, quality assurance, and operations into a
single, continuous set of processes.
• Advantages-
• escalates business profit by decreasing software delivery time and transportation costs.
1. Amazon
2. Netflix
2
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
3. Walmart
4. Facebook
5. Adobe
CONCLUSION: Thus, we have studied the DevOps: Principles, Practices, and DevOps Engineer
Role and Responsibilities.
1. What is DevOps?
3
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
a) Patrick Debois
b) Gene Kim
c) David Farley
d) Bridget Kravchenko
a) Continuous Testing
b) Continuous Integration
REFERENCES :
1. https://nptel.ac.in/courses/128106012
2. https://www.edureka.co/devops-certification-training
3. https://www.coursera.org/professional-certificates/devops-and-software-engineering
4
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
EXPERIMENT NO- 2
AIM: To understand Version Control System / Source Code Management, install git and
create a GitHub account.
RESOURCES REQUIRED: Pentium IV & above, Browser, Internet, Printer, Printout Stationary
THEORY:
• Version Control System (VCS) is a software that helps software developers to work
together and maintain a complete history of their work.
• Purpose-
5
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
• Maintain history of every version of everything. Previous version can be easily rolled
back.
4. A repository is a file structure where git stores all the project-based files.
a) TRUE
b) FALSE
6
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
REFERENCES :
1. https://nptel.ac.in/courses/128106012
2. https://www.edureka.co/devops-certification-training
3. https://www.coursera.org/professional-certificates/devops-and-software-engineering
EXPERIMENT NO- 3
AIM: To perform various Git operations on Local and Remote repositories using Git Cheat-
sheet.
RESOURCES REQUIRED: Pentium IV & above, Browser, Internet, Printer, Printout Stationary
THEORY:
7
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
• Staging area-
changes to be included in
next commit.
• Local repository
• Remote repository
$ mkdir Firstrepo
$ cd Firstrepo
8
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
$ git init
touch a.txt
9
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
10
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
• ext, Refresh the GitHub page and u can find all commits here. Each commit has a hash
ID.
$mkdir GitDemoPulled
$cd GitDemoPulled
$git init
11
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
• Go to your GitHub, go to the repository and then to the clone or download option, and
copy the URL.
CONCLUSION: Thus, we have performed various Git operations on Local and Remote
repositories using Git Cheat-sheet.
1. Which of the following command line environment is used for interacting with Git?
a) GitHub
b) Git Bash
c) Git Boot
d) All of the mentioned
2. Which of the following command allows you to change directory to one level above
your parent directory?
a) cd
b) cd.
c) cd..
d) none of the mentioned
12
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
REFERENCES :
4. https://nptel.ac.in/courses/128106012
5. https://www.edureka.co/devops-certification-training
6. https://www.coursera.org/professional-certificates/devops-and-software-engineering
EXPERIMENT NO- 4
13
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
RESOURCES REQUIRED: Pentium IV & above, Browser, Internet, Printer, Printout Stationary
THEORY:
• Continuous Integration-In a large project with many developers, commits are made
many times during a day.
• This commit, build, test, and deploy is a continuous process, and hence the name
continuous integration/deployment.
• Open source, Continuous integration DevOps Tool
• Written in Java
• Jenkins-
14
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
15
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
16
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
17
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
18
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
19
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
a) Maven 2 project
b) Amazon EC2
c) HTML publisher
d) All
20
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
REFERENCES :
1. https://nptel.ac.in/courses/128106012
2. https://www.edureka.co/devops-certification-training
3. https://www.coursera.org/professional-certificates/devops-and-software-engineering
EXPERIMENT NO- 5
AIM: To create & build a job and integrate Github with Jenkins.
RESOURCES REQUIRED: Pentium IV & above, Browser, Internet, Printer, Printout Stationary
THEORY:
21
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
Give description & then in Build Steps -add build step-Execute Windows batch command.
CONCLUSION: Thus, we have created & built a job and integrate Github with Jenkins.
a. Java
b. Python
22
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
c. Ruby
d. JavaScript
a.Jenkins Master
b. Jenkins Slave
c. Jenkins Node
d. Jenkins Client
3.What is a Jenkinsfile?
23
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
a. Git
b. Maven
c. Jenkinsfile
d. Slack
REFERENCES :
1. https://nptel.ac.in/courses/128106012
2. https://www.edureka.co/devops-certification-training
3. https://www.coursera.org/professional-certificates/devops-and-software-engineering
24
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
EXPERIMENT NO- 6
AIM: To build the pipeline of jobs using Jenkins & to configure Jenkins with Maven to set up
a build job.
RESOURCES REQUIRED: Pentium IV & above, Browser, Internet, Printer, Printout Stationary
THEORY:
• Jenkins Pipeline-
• Pipeline - a series of events or tasks which are interconnected in a particular order.
• Instead of creating multiple jobs for each process, it allows us to code the entire
workflow and place it in a Jenkins file.
• How to create pipeline in Jenkins
•
• Enter job name in Description.
25
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
•
• Under pipeline tab, enter the following code.
pipeline {
agent any
stages {
stage('Build') {
steps {
//
stage('Test') {
steps {
//
stage('Deploy') {
26
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
steps {
//
}
• 3 main attributes of Jenkins pipeline -
• Pipeline: pipeline declaration must be written on the top level of the program. The
pipeline syntax will start from here.
• Agent: just below the pipeline. It (agent any) tells that the current build is going to
execute on any of the Jenkins agents.
• Stages: Inside the stages, we can define several stages with the name, which consist of
steps regarding jobs. Usually, there are 3-stages, which are as follows:
• Build
• Test
• Deploy
27
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
CONCLUSION: Thus, we have built the pipeline of jobs using Jenkins & to configure Jenkins with
Maven to set up a build job.
28
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
REFERENCES :
1. https://nptel.ac.in/courses/128106012
2. https://www.edureka.co/devops-certification-training
3. https://www.coursera.org/professional-certificates/devops-and-software-engineering
29
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
EXPERIMENT NO- 7
AIM: To understand Docker Architecture and Container Life Cycle, install Docker.
RESOURCES REQUIRED: Pentium IV & above, Browser, Internet, Printer, Printout Stationary
THEORY:
Docker-
• OS-level virtualization software platform that helps users in building and managing
applications in the Docker environment with all its library dependencies.
• Used to easily develop applications, ship them into containers which can then be
deployed anywhere.
• Advantages -
30
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
• Docker containers can be deployed anywhere, on any physical and virtual machines and
even on the cloud.
Architecture-
• 3 main components that are Docker Client, Docker Host, and Docker Registry.
1. Docker Client
• uses commands and REST (Representational State Transfer) APIs to communicate with
Docker Daemon (Server).
• Docker Client uses Command Line Interface (CLI) to run the following commands -
• docker build
• docker pull
• docker run
2. Docker Host
31
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
Docker daemon –Listens for Docker API requests & manages Docker objects like images,
containers etc. Daemon can also communicate with other daemons to manage Docker services.
Docker Image-
• Docker uses a private container registry to share container images within the enterprise
and also uses public container registry to share container images within the whole world.
Container-
• A container is a runnable instance of an image that can be run using the Docker run
command.
• A container packages up code and its dependencies so the application runs quickly and
reliably from one computing environment to another.
• 2 types of registries –
32
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
• Type ‘winver’
33
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
• Click on ‘Performance’
34
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
35
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
CONCLUSION: Thus, we have understood Docker Architecture and Container Life Cycle, install
Docker.
1. What is Docker?
a) A containerization platform
36
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
b) A snapshot of a container
37
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
REFERENCES :
1. https://nptel.ac.in/courses/128106012
2. https://www.edureka.co/devops-certification-training
3. https://www.coursera.org/professional-certificates/devops-and-software-engineering
38
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
EXPERIMENT NO- 8
AIM: To execute docker commands to manage images and interact with containers.
RESOURCES REQUIRED: Pentium IV & above, Browser, Internet, Printer, Printout Stationary
THEORY:
Docker Commands-
Example-
cmd-3 parts.
1) docker: It is docker engine and used to run docker program. It tells to the operating system
that you are running docker program.
3) hello-world: It is a name of an image. You need to specify the name of an image which is to
load into the container.
39
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
1. docker –version
2. docker pull
4. docker ps
5. docker ps -a
This command is used to show all the running and exited containers
6. docker exec
7. docker stop
This command kills the container by stopping its execution immediately. The difference
between ‘docker kill’ and ‘docker stop’ is that ‘docker stop’ gives the container time to
40
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
shutdown gracefully, in situations when it is taking too much time for getting the container to
stop, one can opt to kill it
9. docker commit
This command creates a new image of an edited container on the local system
CONCLUSION: Thus, we have executed docker commands to manage images and interact with
containers.
41
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
42
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
a) Docker Hub
b) Docker Store
c) Docker Cloud
d) Docker Repository
an image.
d) A Docker image is used for temporary data, while a container is used for persistent data)
43
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
REFERENCES :
1. https://nptel.ac.in/courses/128106012
2. https://www.edureka.co/devops-certification-training
3. https://www.coursera.org/professional-certificates/devops-and-software-engineering
EXPERIMENT NO- 9
44
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
AIM: To learn Dockerfile instructions, build an image for a sample Java application using
Dockerfile.
RESOURCES REQUIRED: Pentium IV & above, Browser, Internet, Printer, Printout Stationary
THEORY:
Docker Dockerfile
A Dockerfile is a text document that contains commands that are used to assemble an image.
We can use any command that call on the command line. Docker builds images automatically
by reading the instructions from the Dockerfile.
Dockerfile Instructions
1. FROM - used to set the Base Image for the subsequent instructions.
2. RUN - used to run specified commands. used to execute any command of the current image.
There can be only one CMD in a Dockerfile. If we use more than one CMD, only last one will
execute.
45
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
4. WORKDIR- We can specify our working directory inside the container using the WORKDIR
instruction. Any other instruction after that in the dockerfile, will be executed on that particular
working directory only.
WORKDIR /usr/src/app
Let us create a Java application & build an image for the same-.
7. Execute it.
• Go to cmd promt.
• Type-
CONCLUSION: Thus, we have learnt Dockerfile instructions, build an image for a sample Java
application using Dockerfile.
46
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
1.What is a Dockerfile?
47
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
REFERENCES :
1. https://nptel.ac.in/courses/128106012
48
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
2. https://www.edureka.co/devops-certification-training
3. https://www.coursera.org/professional-certificates/devops-and-software-engineering
EXPERIMENT NO- 10
RESOURCES REQUIRED: Pentium IV & above, Browser, Internet, Printer, Printout Stationary
THEORY:
Configuration Management-
• System administrators regularly & repeatedly do many tasks like- Installing OS, setting
up users, copying files, installing packages, etc.
• Process of maintaining software and computer systems like networks, servers, storage
in configured, desired, and consistent state.
49
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
• Works on- Infrastructure as a code-writing code that allows us to state what we want
to happen. The infrastructure-as-code is written once and can be run on hundreds of
thousands of servers and each machine will be setup exactly as the same as all the
others.
1. Push Approach
2. Pull Approach
50
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
a) Ruby
b) Python
c) Perl
d) Java
a) The task that is not a part of Software Configuration Management (SCM) is ______
a) Change control
b) Version control
c.)Configuration status reporting
d ) None of the above
3. Which of the following combines procedures and tools to manage different versions of
configuration objects that are created during the software process?
a) Configuration status reporting.
b) Version control
c) Change control
d) None of the above
e) None of these
51
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
configuration management
c) Ansible has a smaller learning curve, while Puppet has a steeper learning curve
REFERENCES :
1. https://nptel.ac.in/courses/128106012
2. https://www.edureka.co/devops-certification-training
3. https://www.coursera.org/professional-certificates/devops-and-software-engineering
EXPERIMENT NO- 11
AIM: Content Beyond Syllabus- Install Bit Install Bitbucket Server on Windows.
RESOURCES REQUIRED: Pentium IV & above, Browser, Internet, Printer, Printout Stationary
52
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
THEORY:
• Set up Bitbucket
The Setup Wizard runs automatically when you visit Bitbucket Server in your browser the first
time.
1. If you've not already done so, it's time to create your database.
Select External as your database, then choose a Database Type from the dropdown menu and
enter the details of your database.
53
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
1. Bitbucket is a?
a) Centralized VCS
b) Distributed VCS
54
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
a)GitHub
b) BitBucket
c)Both
d)None
a) Yes
b) No
b)collaborate on your source code and guides us through the development flow
a) Public repositories
b)Private repositories
55
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
d)None
REFERENCES :
1. https://nptel.ac.in/courses/128106012
2. https://www.edureka.co/devops-certification-training
3. https://www.coursera.org/professional-certificates/devops-and-software-engineering
56
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
EXPERIMENT NO- 12
RESOURCES REQUIRED: Pentium IV & above, Browser, Internet, Printer, Printout Stationary
THEORY:
57
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
58
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
59
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
60
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
3. How many Information Domain Values are used for Function Point
Computation?
a) three
b) four
c) five
d) six
REFERENCES :
1. https://nptel.ac.in/courses/128106012
2. https://www.edureka.co/devops-certification-training
3. https://www.coursera.org/professional-certificates/devops-and-software-engineering
61
SɅRɅSWɅTI
Department of Computer College of
Science & Engineering in SɅRɅSWɅTI Engineering
AIML
62
SɅRɅSWɅTI