0% found this document useful (0 votes)
19 views50 pages

DevOps C-Skill Lab Guidelines

The document outlines the curriculum and guidelines for the C-Skill IV: DevOps course at P.R. Pote Patil College of Engineering & Management, focusing on the importance of practical skills in software development and DevOps practices. It includes the institute's vision and mission, program outcomes, education objectives, specific outcomes, and detailed instructions for both teachers and students to enhance learning and assessment in the lab environment. The document emphasizes the development of technical proficiency, leadership, ethical responsibility, and lifelong learning among engineering graduates.

Uploaded by

amankokate01
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views50 pages

DevOps C-Skill Lab Guidelines

The document outlines the curriculum and guidelines for the C-Skill IV: DevOps course at P.R. Pote Patil College of Engineering & Management, focusing on the importance of practical skills in software development and DevOps practices. It includes the institute's vision and mission, program outcomes, education objectives, specific outcomes, and detailed instructions for both teachers and students to enhance learning and assessment in the lab environment. The document emphasizes the development of technical proficiency, leadership, ethical responsibility, and lifelong learning among engineering graduates.

Uploaded by

amankokate01
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

C-Skill IV-DevOps

P.R. POTE PATIL

College of Engineering & Management, Amravati

(An Autonomous Institute)

Department of Artificial Intelligence & Data Science

Year : 3rd Semester: VI

C SkilL Lab IV: DevOps


(6AD09)

PRPCEM-AI&DS Page 1
C-Skill IV-DevOps

Institute Vision Mission

Vision:
To flourish as a centre of excellence for producing the skilled technocrats and committed human beings.

Mission:

 To create conducive environment for teaching &learning.


 To impart quality education through demanding academic programs.
 To enhance career opportunities by exposure to Industries & recent technologies.
 To develop professionals with strong ethics and human values for the betterment of society.

Department of Artificial Intelligence & Data Science

Vision

To achieve Excellence in Computer Science and Engineering for serving the growing needs of
Software industry and Society

Mission

● To create an ambiance that shall foster the growth for developing innovative and entrepreneurial
skills.
● To identify areas of specialization upon which the department can concentrate, thus promote
academic growth and career opportunities.
● To develop human resource with ethical and moral values for overall personality development to
serve the society.

PRPCEM-AI&DS Page 2
C-Skill IV-DevOps

Program Outcomes:
Engineering Graduate will be able to:
1. Engineering Knowledge: Apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex engineering
problems.
2. Problem Analysis: Identify, formulate, research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of
mathematics, natural sciences, and engineering sciences.
3. Design /development of solutions: Design solutions for complex engineering problems
and design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations.
4. Conduct investigations of complex problems: Use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis
of the information to provide valid conclusions.
5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modeling to complex engineering activities
with an understanding of the limitations.
6. The engineer and society: Apply reasoning informed by the contextual knowledge to
assess societal, health, safety, legal and cultural issues and the consequent responsibilities
relevant to the professional engineering practice.
7. Environment and sustainability: Understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of, and
need for sustainable development.
8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and
norms of the engineering practice.
9. Individual and team work: Function effectively as an individual, and as a member or leader
in diverse teams, and in multidisciplinary settings.
10. Communication: Communicate effectively on complex engineering activities with the
engineering community and with society at large, such as, being able to comprehend and
write effective reports and design documentation, make effective presentations, and give
and receive clear instructions.
11. Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member
and leader in a team, to manage projects and in multidisciplinary environments.
12. Life-long learning: Recognize the need for, and have the preparation and ability to engage
in independent and life-long learning in the broadest context of technological change.

PRPCEM-AI&DS Page 3
C-Skill IV-DevOps

Program Education Objectives


To prepare the Engineering graduates to,

PEO1: Technical Proficiency: Graduates will demonstrate proficiency in core areas of


computer science, including algorithms, data structures, software engineering, and database
systems, with a specialized focus on artificial intelligence and data science techniques.

PEO2: Leadership and Innovation: Graduates will exhibit leadership qualities and innovative
thinking, contributing to the development and implementation of AI-driven solutions that address
societal, industrial, and environmental challenges.

PEO3: Ethical and Professional Responsibility: Graduates will adhere to ethical and
professional standards in their engineering practice, demonstrating integrity, accountability,
and a commitment to societal well-being in the design and deployment of AI and DS systems.

PEO4: Lifelong Learning: Graduates will adopt a culture of lifelong learning and professional
development, empowering individuals to adapt to emerging technologies, navigate complex
socio-technical landscapes, and contribute meaningfully to the advancement of AIDS
throughout their careers.

Program Specific Outcomes


To prepare the Engineering graduates to,

PSO1: Intelligent Systems Development: Develop intelligent systems and applications


integrating AI and DS technologies to enhance functionality and performance.

PSO2: Problem-Solving Skills: Possess strong analytical and problem-solving skills,


enabling them to identify, formulate, and solve complex engineering problems using AI and
DS methodologies in diverse application domains.

PRPCEM-AI&DS Page 4
C-Skill IV-DevOps

GUIDELINES FOR TEACHERS

Teachers shall discuss the following points with students before start of practical of the subject.
1. Learning Overview: To develop better understanding of importance of the subject. To know
related skills to be developed such as intellectual and motor skills.
2. Know your Laboratory Work: To understand the layout of laboratory, specifications of
equipment / instruments /materials, procedure, working in groups, planning time etc. also to
know total amount of work to be done in the laboratory.
3. Teacher shall ensure that required equipment is in working condition before start of each
experiment, also keep operating instruction manual available.
4. Explain prior concepts to the students before starting of each experiment.
5. Evolve student’s activity at the time of conduct of each experiment.
6. While taking reading / observation each student (from batch of 20 students) shall be
given a chance to perform / observe the experiment.
7. Teacher shall assess the performance of students continuously.
8. Teacher is expected to share the skills to be developed in the students.
9. Teacher should ensure that the respective skills are developed in the students after the
completion of the practical exercise.
10. Teacher may provide additional knowledge and skills to the students even though not covered
in the manual but are expected from students by the industries.
11. Teacher may suggest the students to refer additional related literature of the technical papers /
reference books / Seminar Proceedings, etc.
12. Focus should be given on development of enlisted skills rather than theoretical / codified
knowledge.
13. During assessment teacher is expected to ask questions to the students to tap their
achievements regarding related knowledge and skills.
14. Teacher should give more focus on hands on skills.

PRPCEM-AI&DS Page 5
C-Skill IV-DevOps

INSTRUCTIONS FOR STUDENTS

1. Students shall read the points given below for understanding the theoretical concepts and
practical applications.
2. Listen carefully to the lecture given by teacher about importance of subject, curriculum
philosophy, learning structure, skills to be developed, information about equipment,
instruments, procedure, method of continuous assessment, tentative plan of work in
laboratory and total amount of works to be done in a semester.
3. Student shall undergo study visit of the laboratory for types of equipment, and material
to be used, before performing experiments.
4. Read the write up of each experiment to be performed, a day in advance.
5. Organize the work in the group and make a record of all observations.
6. Understand the purpose of experiment and its practical implications.
7. Student should not hesitate to ask any difficulty faced during conduct of practical
/exercise.
8. Write the answers of the questions allotted by the teacher during practical hours if
possible or afterwards, but immediately.
9. Student should develop the habit of pear discussion / group discussion related to
experiments / exercise so that exchanges of knowledge / skills could take place.
10. Students shall attempt to develop related hands-on-skills and gain confidence.
11. Student shall focus on development of skills rather than theoretical or codified
[Link] shall insist for the completions of recommended Laboratory Work,
answers to the given question etc.
12. Student shall develop the habit of evolving more ideas, innovations, skills etc. that
included in the scope of the manual.
13. Student shall refer technical magazines, proceedings of the Seminars, refer website
related to the scope of the subjects and update their knowledge and skills.
14. Student should develop the habit of not depend totally on teachers but to develop self-
learning techniques.

15. Student should develop the habit to interact with the teacher without hesitation with
respect to academic involved.
16. Student should develop habit to submit the practical’s exercise continuously and
progressively on the schedule dates and should get the assessment done.
17. Student should be well prepared while submitting the write up of the exercise. This will
develop the continuity of the studies and he will not be overloaded at the end of the term.

PRPCEM-AI&DS Page 6
C-Skill IV-DevOps

P. R. POTE PATIL

COLLEGE OF ENGINEERING & MANAGEMENT, AMRAVATI.

Department of Artificial Intelligence & Data Science

Certificate

This is to certify that Mr./Ms…………………………………………........

in .... Semester of Bachelor of Technology in Artificial Intelligence & Data Science of P. R. Pote

Patil College of Engineering & Management, Amravati, has completed the term work satisfactory of the

course for the academic year

20 -20 as prescribed in the curriculum.

Date………………… Roll No. ……………………

Subject Teacher Head of the Department

PRPCEM-AI&DS Page 7
C-Skill IV-DevOps

LIST OF (PRACTICALS/EXPERIMENTS) & PROGRESSIVE ASSESSMENT FOR


TERM WORK

Academic Year: 2024-25 Course:


Course Code: Semester:

Name of Student: Roll No:

Name of Faculty: Prof. A. S. Mishra

SN. Title of the Date of Date of AssessmentMa Sign of


Practical/Experiment Performance Submission rks(25) Teacher

2
3

Signature of Faculty

PRPCEM-AI&DS Page 8
C-Skill IV-DevOps

Course Objectives
1. To understand the importance of software development life cycle, Linux command
Jenkins, Docker life cycle & Docker.
2. To be understand the Development Life Cycle.

Course Outcomes.
After successful completion of laboratory course, the students will able to

CO Course Outcomes BT Level PO


1 Study of SDLC, Jenkins, Linux Command 6 5,10

2 Introduction to DevOps life cycle & stages and pipeline. 3 5,10


3 Introduction and use Jenkins, DevOps. 3 5,10

PRPCEM-AI&DS Page 9
C-Skill IV-DevOps

I. Rubrics used for continuous Assessment in every Lab Session


Allocated
Skills Parameters High Medium Low
Marks
1. Handle equipment/ Most satisfactory Partially Below expectation
tools/ Plathform (4-5) successful (0-2)
correctly & Exceptional (3) Unsatisfactory
safely/Logic Formation (2) Satisfactory (0)
(7) (1)
Process
1. Integrate system & Highly satisfactory Partially Incorrect or
Related 15
measure parameters (4) correct (2-3) unsatisfactory (0-
Skills In time (4) 1)
correctly or
Debugging Ability (4) *Completed
2. Completed experiment but delayed *Completed with
as per schedule (4) (2) 50% delayed (1)

Obtain correct results, Highly Accurate(4) Partially correct Incorrect (0-1)


Interpret results (4) (2-3)
Product Draw conclusion (3) Highly accurate (3) Partially (2) Unsatisfactory
Related (1)
10
Skills Answer practical related Highly satisfactory Moderate Unsatisfactory
questions & submit the write (3) satisfactory (1)
up of experiment on time (3) (2)

Total Marks 25 Marks

II. Rubrics used for External Assessment in Lab Course


Allocated
Skills Parameters High Medium Low
Marks
Handle equipment/ tools/ Most satisfactory (6- Partially Below
commands correctly & safely, 7) successful expectation (0-
and Work cohesively in team (4-5) 3)
Process (7)
Related 15
Skills Integrate system correctly & Highly satisfactory Partially correct Incorrect
measure parameters (7-8) (5-6) or
correctly (8) unsatisfactory
(0-4)
Obtain correct results, Answer Exceptional (4-5) Satisfactory Unsatisfactory
Product practical related questions (5) (3) (0-2)
Related
10
Skills
Interpret results, draw Exceptional Satisfactory Unsatisfactory
conclusion (5) (4-5) (3) (0-2)
Total Marks 25 Marks

PRPCEM-AI&DS Page 10
C-Skill IV-DevOps

GUIDELINES FOR TEACHERS


Teachers shall discuss the following points with students before start of practical of the subject.

1. Learning Overview: To develop better understanding of importance of the


subject. To know related skills to be developed such as intellectual and motor
skills
2. Know your Laboratory Work: To understand the layout of laboratory,
specifications of equipment / instruments /materials, procedure, working in
groups, planning time etc. also to know total amount of work to be done in the
laboratory.
3. Teacher shall ensure that required equipment is in working condition before start
of each experiment, also keep operating instruction manual available.
4. Explain prior concepts to the students before starting of each experiment.
5. Evolve student’s activity at the time of conduct of each experiment.
6. While taking reading / observation each student (from batch of 20 students)
shall be given a chance to perform / observe the experiment.
7. Teacher shall assess the performance of students continuously.
8. Teacher is expected to share the skills to be developed in the students.
9. Teacher should ensure that the respective skills are developed in the students
after the completion of the practical exercise.
10. Teacher may provide additional knowledge and skills to the students even
though not covered in the manual but are expected from students by the
industries.
11. Teacher may suggest the students to refer additional related literature of the
technical papers / reference books / Seminar Proceedings, etc.
12. Focus should be given on development of enlisted skills rather than theoretical /
codified knowledge.
13. During assessment teacher is expected to ask questions to the students to tap
their achievements regarding related knowledge and skills.
14. Teacher should give more focus on hands on skills.

PRPCEM-AI&DS Page 11
C-Skill IV-DevOps

LABORATORY INSTRUCTIONS

1. Be Respectful! Always treat the computer lab equipment And your teacher
and classmates the way that you would want your belongings and yourself to
be treated.

2. No food or drinks near the computers. NO EXCEPTIONS.

3. Enter the computer lab quietly and work quietly. There are other groups and
individuals who may be using the computer lab. Please be respectful.

4. Surf safely! Only visit assigned websites. Some web links can contain
viruses or malware. Others may contain inappropriate content. If you are not
certain that a website is SAFE, please ask a teacher or other adult.

5. Clean up your work area before you leave. All cords should be placed on the
tables (not hanging off the sides). Headphones should be placed on the
CPU/tower or monitor. Chair should be pushed under the tables. All trash,
papers, and pencils should be picked up.

6. Do not change computer settings or backgrounds.

7. Ask permission before you print.

8. SAVE all unfinished work to a cloud drive or jump drive. Any work that is
saved to the computer will be deleted when the computer is powered off or
updated at the end of the day.

9. If you are the last class of the day, please POWER DOWN all computers and
monitors.

PRPCEM-AI&DS Page 12
C-Skill IV-DevOps

P. R. Pote (Patil) College of Engineering & Management, Amravati

Department of Artificial Intelligence & Data Science

Name of the Department : AI & DS Academic Year:2024-2025


Year: Semester : VI
Section : Course Code: 6AD09
Course/Subject: C-Skill IV DevOps Lab Name of Faculty: Prof. A. S. Mishra

A Minimum of Eight Practicals is to be performed from the list below.

S.N List of Practical’s


1 Exploration of the Software Development Life Cycle (SDLC) Process.
2 Explore the DevOps Lifecycle and Its Phases.
3 Exploring the DevOps pipeline (CI/CD) utilizing any tool.
4 Installation of Git and Basics of GitHub (Distributed Version Control System)
5 Installation of java 11.
6 Elevate and Configure Jenkins.
7 Demonstrate jobs and manage them using Jenkins.
8 Understand and integrate DevOps tools effectively. (GIT, Maven, Docker, Ansible and Jenkins).
9 Learn how to do Jenkins Maintenance.
10 Learn how to work with Git and Jenkins.

PRPCEM-AI&DS Page 13
C-Skill IV-DevOps

PRACTICAL NO. 1

AIM : Exploration the Software Development Life Cycle (SDLC) Process.

THEORY: SDLC:
Software Development Life Cycle (SDLC) is a framework that defines the steps involved in
the development of software at each phase. It covers the detailed plan for building, deploying and
maintaining the software. SDLC defines the complete cycle of development i.e. all the tasks involved
in planning, creating, testing, and deploying a Software Product.

SDLC Cycle:

SDLC has defined its phases as, Requirement gathering, Designing, Coding, Testing, and
Maintenance. It is important to adhere to the phases to provide the Product in a systematic manner.

SDLC Phases:

1. Planning Phase
a) Define the scope, objectives, and feasibility of the project.
b) Conduct feasibility studies (technical, operational, financial).
c) Identify risks and constraints.
d) Develop a project plan with timelines, resources, and budgets.
e) Project charter, feasibility report, and initial plan.
2. Requirement Analysis Phase
a) Understand and document user needs and system requirements.
b) Gather requirements through interviews, surveys, and workshops.
c) Create detailed documentation (e.g., Software Requirements Specification - SRS).
d) Prioritize features and functionalities.
e) Requirement documents, use cases, and user stories.
3. Design Phase
a) Create a blueprint for the system architecture and user interface.
b) Design system architecture, database schema, and user interface.
c) Prepare data flow diagrams (DFDs) and entity-relationship diagrams (ERDs).
d) Choose development technologies and frameworks.

PRPCEM-AI&DS Page 14
C-Skill IV-DevOps

e) System design document, prototypes, and wireframes.


4. Development Phase
a) Write and assemble the actual code for the application.
b) Translate design specifications into code using programming languages.
c) Use version control systems to manage code changes.
d) Perform unit testing during development.
e) Source code and completed modules.
5. Testing Phase
a) Identify and fix defects to ensure the software functions as intended.
b) Perform different types of testing: unit testing, integration testing, system testing,
and user acceptance testing (UAT).
c) Log and fix bugs.
d) Ensure the software meets performance and security standards.
e) Test plans, test cases, and a tested software product.
6. Deployment Phase
a) Release the software to the production environment.
b) Set up the production environment.
c) Migrate data (if necessary).
d) Perform a final review before going live.
e) Deploy the software to users.
f) Deployed software and deployment reports.
7. Maintenance Phase
a) Ensure the software continues to function correctly post-deployment.
b) Monitor the software for bugs, performance issues, and security vulnerabilities.
c) Provide regular updates and patches.
d) Address user feedback for improvements.
e) Maintenance logs, updates, and patches.

CONCLUSION:

ASSESSMENT SCHEME:-

Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)

PRPCEM-AI&DS Page 15
C-Skill IV-DevOps

PRACTICAL NO. 2

AIM : Demonstrate the DevOps Lifecycle and Its Phases.

THEORY: DevOps
1. The term DevOps is a combination of two words namely Development and Operations.
DevOps is a practice that allows a single team to manage the entire application development
life cycle, that is, development, testing, deployment, and operations.

2. It consists of various stages such as continuous development, continuous integration,


continuous testing, continuous deployment, and continuous monitoring.

1) Continuous Development
This phase involves the planning and coding of the software. The vision of the project is
decided during the planning phase. The developers begin developing the code for the
application. There are no DevOps tools that are required for planning, but there are several
tools for maintaining the code.

2) Continuous Integration
This stage is the heart of the entire DevOps lifecycle. It is a software development practice in
which the developers are required to commit changes to the source code more frequently.
Then every commit is built, and this allows early detection of problems if they are present.
Building code does not only involve compilation, but it also includes unit testing,
integration testing, code review, and packaging.

Jenkins is a popular tool used in this phase. Whenever there is a change in the Git repository,
then Jenkins fetches the updated code and prepares a build of that code, which is an
executable file in the form of war or jar. Then this build is forwarded to the test server or the
production server.

PRPCEM-AI&DS Page 16
C-Skill IV-DevOps

3) Continuous Testing
This phase is where the developed software is continuously testing for bugs. For constant
testing, automation testing tools such as TestNG, JUnit, Selenium, etc are used. These tools
allow QAs to test multiple code bases thoroughly in parallel to ensure that there is no flaw in
the functionality. In this phase, Docker Containers can be used for simulating the test
environment.

Selenium does the automation testing, and TestNG generates the reports. This entire testing
phase can be automated with the help of a Continuous Integration tool called Jenkins.

Automation testing saves a lot of time and effort in executing the tests instead of doing this
manually. Apart from that, report generation is a big plus. The task of evaluating the test cases
that failed in a test suite gets simpler. Also, we can schedule the execution of the test cases at
predefined times. After testing, the code is continuously integrated with the existing code.

4) Continuous Monitoring
Monitoring is a phase that involves all the operational factors of the entire DevOps process,
where important information about the use of the software is recorded and carefully processed
to find out trends and identify problem areas. Usually, the monitoring is integrated within the
operational capabilities of the software application.

It may occur in the form of documentation files or may produce large-scale data about the
application parameters when it is in a continuous use position. System errors such as server
not reachable, low memory, etc are resolved in this phase. It maintains the security and
availability of the service.

5) Continuous Feedback
The application development is consistently improved by analyzing the results from the
operations of the software. This is carried out by placing the critical phase of constant
feedback between the operations and the development of the next version of the current
software application.

Continuity is an essential factor in DevOps as it removes the unnecessary steps that are
required to take a software application from development, using it to find out its issues and
then producing a better version. It kills the efficiency that may be possible with the app and
reduces the number of interested customers.

6) Continuous Deployment
In this phase, the code is deployed to the production servers. Also, it is essential to ensure that
the code is correctly used on all the servers.

PRPCEM-AI&DS Page 17
C-Skill IV-DevOps

The new code is deployed continuously, and configuration management tools play an
essential role in executing tasks frequently and quickly. Here are some popular tools that are
used in this phase, such as Chef, Puppet, Ansible, and SaltStack.

7) Continuous Operations
All DevOps operations are based on continuity with complete automation of the release
process and allow the organization to accelerate the overall time to market continuously.
It is clear from the discussion that continuity is the critical factor in DevOps in removing
steps that often distract the development, take it longer to detect issues, and produce a better
version of the product after several months. With DevOps, we can make any software product
more efficient and increase the overall count of interested customers in your product.

CONCLUSION:-

ASSESSMENT SCHEME:-

Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)

PRPCEM-AI&DS Page 18
C-Skill IV-DevOps

PRACTICAL NO. 3

AIM : Exploring of the DevOps pipeline (CI/CD) utilising any tool.

THEORY:

A DevOps pipeline, also referred to as a CI/CD pipeline, is a set of automated processes that
enable software development, testing, deployment, and monitoring. The pipeline helps ensure
faster, reliable, and consistent delivery of code from development to production.

Components of a DevOps Pipeline


Ensuring the code moves from one stage to the next seamlessly requires implementing several
DevOps strategies and practices. The most important among them are continuous
integration and continuous delivery (CI/CD).

What is CI/CD?
1. Continuous Integration (CI):
I. Automates code integration from multiple developers into a shared repository.
II. Ensures frequent and error-free builds through automated testing.
III. Example: Jenkins, GitLab CI.
2. Continuous Delivery (CD):
I. Ensures that code changes are automatically prepared for deployment to a production-
like environment.
II. Includes thorough testing, artifact creation, and staging.
III. Example: Spinnaker, GitHub Actions.
3. Continuous Deployment:
I. Extends CD by automatically deploying code changes to production without manual
intervention.
II. Example: Kubernetes with ArgoCD.

Key Stages of a DevOps Pipeline


1. Source Code Management
Purpose: Manages and tracks code changes in a version control system (e.g., Git).
Tools: Git, GitHub, GitLab, Bitbucket.
Steps:
I. Developers commit code changes.
II. A webhook triggers the pipeline when code is pushed to the repository.

2. Build Automation
Purpose: Compiles code and packages it into a deployable artifact.
Tools: Jenkins, Maven, Gradle.
Steps:
I. Fetch the latest code from the repository.
II. Compile and build the application.
III. Create executable artifacts like .jar, .war, or container images.

3. Automated Testing
Purpose: Ensures code quality by running automated test suites.
Tools: Selenium, JUnit, TestNG, Postman.
Steps:
I. Unit Testing: Tests individual components.
II. Integration Testing: Verifies interactions between components.
III. Performance Testing: Measures system stability and responsiveness.

4. Continuous Integration

PRPCEM-AI&DS Page 19
C-Skill IV-DevOps

Purpose: Automatically merges and tests code changes.


Tools: Jenkins, GitLab CI, CircleCI.
Steps:
I. Automatically test code after each commit.
II. Detect and notify developers of any issues.

5. Artifact Repository Management


Purpose: Stores and manages build artifacts for deployment.
Tools: Nexus, Artifactory, Docker Hub.
Steps:
I. Store the artifacts (e.g., binaries, container images).
II. Make them available for further stages in the pipeline.

6. Continuous Deployment
Purpose: Deploys artifacts to staging or production environments.
Tools: Kubernetes, Ansible, Terraform, ArgoCD.
Steps:
I. Deploy the application to a staging environment.
II. Perform end-to-end testing.
III. Deploy to production.

7. Monitoring and Feedback


Purpose: Tracks application performance and collects user feedback.
Tools: Prometheus, Grafana, ELK Stack, Datadog.
Steps:
I. Monitor system health, performance, and error rates.
II. Provide actionable insights to improve future releases.

CI/CD Pipeline Benefits


1. Faster Development and Deployment: Reduces manual work and accelerates delivery.
2. Improved Code Quality: Automated testing ensures error-free code.
3. Increased Collaboration: Encourages continuous feedback and collaboration between
development and operations teams.
4. Scalability: Supports seamless integration with cloud-native environments like Kubernetes.

Popular Tools for CI/CD Pipelines


Stage Tools
Source Code Management Git, GitHub, GitLab, Bitbucket
Continuous Integration Jenkins, CircleCI, GitLab CI/CD

PRPCEM-AI&DS Page 20
C-Skill IV-DevOps

Stage Tools
Build Automation Maven, Gradle, Docker
Testing Selenium, JUnit, TestNG
Deployment Kubernetes, Ansible, Terraform
Monitoring Prometheus, Grafana, Datadog

What is Jenkins and why do we use it?

Jenkins is an open-source automation tool used for Continuous Integration (CI) and
Continuous Delivery (CD) in DevOps. It is written in Java and provides a robust framework
to build, test, and deploy software projects automatically, enabling faster and more reliable
software delivery.

Why Use Jenkins?


1. Automates CI/CD Pipelines:
Jenkins automates the process of building, testing, and deploying code, reducing
manual effort and human errors.
2. Improves Software Quality:
Ensures every code change is built and tested immediately, identifying issues early in
the development cycle.
3. Speeds Up Development:
Enables frequent and consistent delivery of software updates, enhancing productivity
and reducing time-to-market.
4. Supports Integration:
Jenkins integrates with various tools like Git, Docker, Maven, Kubernetes, Selenium,
and more, covering the entire software development lifecycle.
5. Customizable and Extensible:
Offers over 1,800 plugins to adapt to diverse project requirements and workflows.
The image below depicts that Jenkins is integrating various DevOps stages:

PRPCEM-AI&DS Page 21
C-Skill IV-DevOps

CONCLUSION:-

ASSESSMENT SCHEME:-

Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)

PRPCEM-AI&DS Page 22
C-Skill IV-DevOps

PRACTICAL NO. 4

AIM: Installation of Git and GitHub (Distributed Version Control System)

THEORY:
Git is an open-source distributed version control system. It is very lightweight and works on
almost all operating systems.
Step 1: Install Git
For Windows:
1. Go to the official Git website: [Link].
2. Download the Git installer for Windows.
3. Run the downloaded installer.
4. Follow the installation prompts, keeping the default settings unless you have specific
preferences.
5. Once the installation is complete, open the Command Prompt or Git Bash and type:

This command should display the installed version of Git.

Step 2: Configure Git


1. Open your terminal or command prompt.
2. Set your username:

3. Set your email address

4. To check your configuration, run:

Step 3: Create a GitHub Account


1. Go to the GitHub website: [Link].
2. Click on "Sign up" in the upper right corner.
3. Follow the prompts to create a new account. You will need to provide a username, email
address, and password.

PRPCEM-AI&DS Page 23
C-Skill IV-DevOps

Step 4: Connect Git to GitHub


1. Generate an SSH Key:
 Open your terminal or command prompt.
 Run the following command:

 Press Enter to accept the default file location. You can set a passphrase for added
security or leave it empty.

2. Add the SSH Key to the SSH Agent:


 Start the SSH agent

Add your SSH private key

3. Copy the SSH Key:


 Copy the contents of your public key to the clipboard:

 Select and copy the output.

4. Add the SSH Key to Your GitHub Account:


 Go to GitHub and log in.
 Click on your profile picture in the upper right corner, then select "Settings."
 In the left sidebar, click on "SSH and GPG keys."
 Click the "New SSH key" button.
 Paste your SSH key into the "Key" field and give it a title.
 Click "Add SSH key."

PRPCEM-AI&DS Page 24
C-Skill IV-DevOps


Step 5: Verify the Connection
1. In your terminal, run

2. If everything is set up correctly, you should see a message like:

CONCLUSION:

ASSESSMENT SCHEME:-

Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)

PRPCEM-AI&DS Page 25
C-Skill IV-DevOps

PRACTICAL NO. 5

AIM : Study and implement installation of java 11.

THEORY:
Installation Prerequisites of JDK
JDK has bare minimum requirements for disk space and RAM for the 64-bit Windows platform. It
requires around 800 MB disk space to install JDK, as JRE also gets installed along with it. JDK
requires 128 MB of memory space to run JDK successfully. This is the minimum RAM required for
running basic and small programs, but as the size of an application increases, the memory requirement
also increases for the application to run smoothly.
Step by Step Installation Of JDK
Before installing the latest JDK version, it is recommended to check our systems for any old JDK
versions and uninstall them. Though we can have more than one JDK, it is easier to set paths and to
work with just the latest one.
Step 1 - Download JDK
Open the browser and search for Download JDK 11 or click the link to download from Oracle
website. It will show the JDK download page as shown in Fig.

Accept the License Agreement and click on the link to download the installer as highlighted in Fig. It
will start downloading JDK 11 installer for Windows.

PRPCEM-AI&DS Page 26
C-Skill IV-DevOps

Step 2 - Install JDK


Now execute the downloaded JDK installer by double-clicking it. It might ask system permission
before starting the installation. Click on yes to allow the installer to execute itself. It shows the
installer welcome screen as displayed in Fig.

Click on Next to initiate the installation process. The next screen shows options to select optional
features to be installed together. Leave the default options without making any change. We can also
change the installation location on this screen if required as displayed in Fig.

Now click on Next Button to start the installation. It will show the progress as displayed in Fig.

PRPCEM-AI&DS Page 27
C-Skill IV-DevOps

It shows the success screen after completing the installation as mentioned in Fig.
Now open the Command Prompt and type the command java -version to confirm whether it's installed
successfully as mentioned in Fig.

We might need to set the environment variable in case the installed JDK is not detected by the system.
You can follow the below-mentioned steps to set the environment variable.
Right Click -> My Computer(This PC) -> Properties -> Advbanced System Settings
The above steps will open the Windows settings panel as shown in Fig

Now click on Environment Variables, select Path under System Variables section and click on Edit.
We need to add the path of installed JDK to system Path.
Click on New Button and add the path to installed JDK bin which is C:\java\java-11\jdk-11.0.1\bin in

PRPCEM-AI&DS Page 28
C-Skill IV-DevOps

our case. Press OK Button 3 times to close all the windows. This sets the JDK 11 on system
environment variables to access the same from the console.
Now again open the console and test the Java version as shown in Fig.

CONCLUSION:

ASSESSMENT SCHEME:-

Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)

PRPCEM-AI&DS Page 29
C-Skill IV-DevOps

PRACTICAL NO. 6

AIM: Elevate and Configure Jenkins.

SOFTWARE:

THEORY:
1. Download the Jenkins War File
This war is required to install Jenkins.
The official website for Jenkins is [Link]
When you click the given link, you will get the home page of the Jenkins official website as
given below:

Click on the Download button.

Click on Generic Java Package (.war) to download the Jenkins war file.

2. Start the installation.

PRPCEM-AI&DS Page 30
C-Skill IV-DevOps

Click the “Change…” button if you want to install Jenkins in another folder. In this example,
I will keep the default option and click on the “Next” button.

Enter the service logon credentials. It is recommended to select the second option “Run
service as local ” as it is safer.

Enter the port on which Jenkins will be running. Click on the “Test Port” button to validate if
it is free.

Select the Java home directory and click on the “Next” button.

PRPCEM-AI&DS Page 31
C-Skill IV-DevOps

Select other services that need to be installed with Jenkins and click on the “Next” button.

Click the “Install” button to start the installation process.

When done, click on “Finish” to complete the installation process.

You will automatically be redirected to a local Jenkins page, or you can paste the URL
[Link] in a browser.

PRPCEM-AI&DS Page 32
C-Skill IV-DevOps

To unlock Jenkins, copy the password from the file intial Admin Password. This file should
be found under the Jenkins installation path (set at step 3 in Jenkins installation). If a custom
path was entered, then you should check that location.
Copy the content of the initial Admin Password file and paste it in the Administrator
password field. Then, click the Continue button.

You can install either the suggested plugins or selected plugins you choose. To keep it
simple, we will install the suggested plugins.

Wait until the plugins are completely installed.

PRPCEM-AI&DS Page 33
C-Skill IV-DevOps

The next thing that you should do is create an Admin user for Jenkins. Then, enter your
details and click Save and Continue.

Click on Save and Finish to complete the Jenkins installation.

PRPCEM-AI&DS Page 34
C-Skill IV-DevOps

Now, click on Start using Jenkins to start Jenkins.

Finally, here is the default Jenkins page.

3. Jenkins Configuration

To configure the Jenkins, click on the 'Manage Jenkins' menu option from the left-hand side
of the Jenkins Dashboard screen.

PRPCEM-AI&DS Page 35
C-Skill IV-DevOps

On the Manage Jenkins page, you will see the following options:

I. Configure System
Click on the 'Configure System':

The configure system page is a critical configuration part. This screen represents a variety of
sections, each correlating to a different configuration area from generic Jenkins settings,
global environment variables, and most installed plugins are configured on this page.

II. Home directory


Jenkins requires some disk space to perform builds and keep archives. You can check this

PRPCEM-AI&DS Page 36
C-Skill IV-DevOps

location from the configuration screen of Jenkins.


By default, this is set to ~/.jenkins, and this location will be initially stored within your user

profile (such as C:\Users\Nikita\.jenkins) location.


You can change this location to a different location to store all relevant builds and archives.
We can do this in the following ways:
1. Set environment variable of JENKINS_HOME to the new home directory before launching
the servlet container.
2. Set system property of JENKINS_HOME to the servlet container.
3. Set JNDI (Java Naming and Directory Interface) environment entry JENKINS_HOME to the
new directory.
Let's see to set the JENKINS_HOME environment variable.
First, create a new folder in any directory. And copy all the contents from the ~/.jenkins to a
new folder.
Set the JENKINS_HOME environment variable to the newly created folder, which is also
pointing to the base directory location where Java is installed on your machine.
Now, in the Jenkins dashboard, click on the Manage Jenkins from the left-hand side menu,
and then click on the Configure System from the right-hand side.
In the Home directory option, you will now see the directory which has been configured.

III. # of executors
This option refers to the total number of concurrent job executions that can take place on the
Jenkins machine. This can be changed based on the requirements. I recommended to you to
keep this number same as the number of CPU on the systems for better performance.

IV. Environment Variables

PRPCEM-AI&DS Page 37
C-Skill IV-DevOps

This option is used to add custom environment variables which will apply to all the jobs.
Environment variables are key-value pairs and can be accessed and used in Builds wherever
required. (For example: SLACK_TOKEN, SAUCE_API_KEY ).

V. Jenkins URL
By default, the Jenkins URL is set to the localhost. If you have a DNS (domain name setup)
for your machine, set this to the domain name else overwrite localhost with the IP of machine.
This will help in setting up slaves (nodes) and while sending out links using the email as you
can directly access the Jenkins URL using the environment variable JENKINS_URL which
can be accessed as ${JENKINS_URL}.

VI. Email Notification


In the Email Notification section, you can configure the SMTP settings for sending out
emails. This needs for Jenkins to connect to the SMTP mail server and send out emails to the
recipient list.

PRPCEM-AI&DS Page 38
C-Skill IV-DevOps

CONCLUSION:-Thus, We have Setup and Configure of Jenkins successfully.


.

ASSESSMENT SCHEME:-

Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)

PRPCEM-AI&DS Page 39
C-Skill IV-DevOps

PRACTICAL NO. 7

AIM : Demonstrate Job And Manage It Using Jenkins.

THEORY :

Below is a step by step process to create job in Jenkin.

Step 1) Login to Jenkins

To create a Jenkins freestyle job, log on to your Jenkins dashboard by visiting your Jenkins
installation path. Usually, it will be hosted on localhost at [Link] If you have installed
Jenkins in another path, use the appropriate URL to access your dashboard as shown in the below
Jenkins job creation example.

Step 2) Create New Item

Click on “New Item” at the top left-hand side of your dashboard.

Step 3) Enter Item details

PRPCEM-AI&DS Page 40
C-Skill IV-DevOps

In the next screen,

1. Enter the name of the item you want to create. We shall use the “Hello world” for this demo.
2. Select Freestyle project
3. Click Okay

Step 4) Enter Project details

Enter the details of the project you want to test.

PRPCEM-AI&DS Page 41
C-Skill IV-DevOps

Step 5) Enter repository URL

Under Source Code Management, Enter your repository URL. We have a test repository located
at [Link]

It is also possible for you to use a local repository.

If your GitHub repository is private, Jenkins will first validate your login credentials with GitHub and
only then pull the source code from your GitHub repository.

Step 6) Tweak the settings

Now that you have provided all the details, it’s time to build the code. Tweak the settings under
the build section to build the code at the time you want. You can even schedule the build to happen
periodically, at set times.

Under build,

1. Click on “Add build step”

2. Click on “Execute Windows batch command” and add the commands you want to execute during
the build process.

PRPCEM-AI&DS Page 42
C-Skill IV-DevOps

Step 7) Save the project

When you have entered all the data,

1. Click Apply
2. Save the project.

Step 8) Build Source code

Now, in the main screen, Click the Build Now button on the left-hand side to build the source code.

Step 9) Check the status

After clicking on Build now, you can see the status of the build you run under Build History.

PRPCEM-AI&DS Page 43
C-Skill IV-DevOps

Step 10) See the console output

Click on the build number and then Click on console output to see the status of the build you run. It
should show you a success message, provided you have followed the setup properly as shown in the
below Jenkins create new job example.

PRPCEM-AI&DS Page 44
C-Skill IV-DevOps

CONCLUSION:-Thus, We have created Job and Managed it using Jenkins successfully.

ASSESSMENT SCHEME:-

Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)

PRPCEM-AI&DS Page 45
C-Skill IV-DevOps

PRACTICAL NO. 8

AIM : Understand and integrate DevOps tools effectively..

THEORY:
A DevOps process consists of 8 stages: plan, code, build, test, release, deploy, operate and
monitor. There is a plethora of tools available open source that can be used for each of these
stages and some across various stages. There’s no single magical tool to implement or
facilitate [Link] make it simple for DevOps teams, we have put together a list of
DevOps tools that can be used to achieve a successful DevOps transformation.
DevOps Tools List

No. DevOps Tools DevOps Stage

1. Git Code, Build

2. Gradle Build

3. Selenium Test

4. Jenkins Build, Test, Deploy

5. Puppet Deploy, Operate

6. Chef Deploy, Operate

7. Docker Build, Deploy, Operate

8. Kubernetes Build, Deploy, Operate

PRPCEM-AI&DS Page 46
C-Skill IV-DevOps

9. Ansible Deploy, Operate

10. eG Enterprise Monitor

1. eG Enterprise

Monitoring is a critical part of software development and deployment. Through all the stages
of DevOps, from code build to test and commit to deploy DevOps teams need to understand
the impact that their code will have on pre-production and production environments. eG
Enterprise is a continuous monitoring tool allows tracking application performance in the
context of code changes to understand how they impact performance. If there are slow
transactions, eG Enterprise uses distributed transaction tracing to highlight if that’s due to a
certain line of code that’s executing slowly, or due to slow third-party calls, or because of
slow database queries.
Integrating continuous monitoring with continuous integration and continuous delivery is
critical to identifying bugs early in the development lifecycle. eG Enterprise provides a
converged visibility of applications and their supporting IT infrastructure (across containers
and microservices environments) allowing Dev, Ops and DevOps teams to easily highlight
the impact of releases before production rollout. In production environments, eG Enterprise
alerts application teams of user experience issues in real time. Synthetic monitoring can be
employed for proactive incident tracking before end-user impact.

2. Git
Git is a widely used DevOps tool across the software industry. It’s a distributed SCM (source
code management) tool known for its free open source collaboration and planning that is
extensively used for tracking the progress of development work by remote teams and open
source contributors. It supports most of the version control features including check-in,
commits, branches, merging, labels, push and pull to/from GitHub, etc.
Git is very easy to use and maintain version control artifacts. To integrate Git with the
existing workflow, you must host repositories using services like GitHub and Bitbucket, from
where team members can push their work. GitHub is more popular, but Bitbucket renders
free unlimited private repos for small teams (up to five). Whereas with GitHub, you get
access to public repos for free which is an excellent solution for most of the projects.

3. Gradle
Gradle is an open source build-automation software that is used to automate building, testing,
deployment of application code. Using [Link] scripts you can automate the tasks — say
for example copy files from one directory to another before the build even happens. Gradle is
developed based on the principles of Apache Ant and Apache Maven work. Instead of using
XML (as used by Maven), Gradle uses a Groovy-based domain-specific language (DSL).
Gradle runs on the JVM and you must have a Java Development Kit (JDK) installed to use it.
Many major IDEs — Android Studio, IntelliJ IDEA, Eclipse, and NetBeans — allow the
import of Gradle builds and interacting with them.

4. Selenium
Selenium is a free, open source portable automated testing framework. It can be made to
automate test case execution for web applications. Scripts are developed to automatically test

PRPCEM-AI&DS Page 47
C-Skill IV-DevOps

web applications for various conditions. Selenium is very flexible and extensible. It can be
used across multiple operating systems, browsers and programming languages. One of the
major highlights of Selenium is that it supports parallel test execution, which is a very nifty
feature for DevOps teams.
1. Jenkins
Jenkins is an open source solution for continuous integration that orchestrates and automates
sequence of actions enabling developers to reliably build, test, and deploy their software.
With over 300,000 installations around the world and over a million users, Jenkins is used by
DevOps teams for accelerating production rollouts by benefitting from its power of
automation. With a large pool of plug-ins available in the Jenkins ecosystem, its capabilities
can be expanded to various stages in the DevOps lifecycle.
Jenkins is entirely free and available at no cost. Because it is written in Java, it is portable
across all major platforms. It is typically run as a standalone application in its own process
with a built-in Java servlet container/ application server (Jetty).
Main benefit of using Jenkins: Instead of waiting for a nightly build, every commit made by
developers in the source code repository is automatically pulled to build by Jenkins’ CI
server. If there’s any bug in the build, developers need to only check the corresponding
commit and fix the issue. This significantly reduces the time required to release new
software.

2. Puppet
Puppet is an open source configuration management tool to automate inspecting, delivering
and managing the software across the complete development lifecycle with platform
independence. It automates infrastructure management to deliver software quickly and
securely. Puppet is used by 42% of businesses that use DevOps according to a
RightScale DevOps survey.
Puppet is written in Ruby and has its own domain-specific language. Puppet has two layers:
A configuration language which describes how the hosts and services should look
An abstraction layer which allows the administrator to implement the configuration on a
variety of platforms (Windows, Linux, Mac OS, etc.)
The main benefit of Puppet is that it eliminates the need for system administrators to use
manual scripting for configuration changes. It helps reduce the cost and effort when one has
to change minor code in hundreds of systems, while maintaining a clear and auditable change
control mechanism.
Puppet is also available as a commercial software, which provides better reporting,
orchestration, node management, role-based access control and product support.

3. Chef
Chef is another configuration management tool — similar to Chef — used to automate and
simplify deployment, repair, update and managements of application infrastructures.
Avoiding manual scrip-based changes, Chef provides a seamless orchestration engine to
allow DevOps engineers to ensure continuous delivery of code releases. By treating
infrastructure as code, Chef uses pre-built and customizable policies to automatically effect
changes to the deployment infrastructure.
Chef has three components, namely Chef server, workstation and nodes:
Chef server is a central command center where all details of the infrastructure reside.
Chef workstation includes recipes or cookbooks, that pushes configuration to infrastructure.
Nodes are simple devices which are configured by using Chef.
Chef has API support from Azure, Rackspace, AWS, which makes it simple to extend
configuration management to cloud platforms.

PRPCEM-AI&DS Page 48
C-Skill IV-DevOps

4. Docker
Docker is a forerunner in containerization. It automates application deployment and provides
integrated security along with agile operations for legacy and cloud-native applications.
The USP of Docker is that it can package dependencies. It uses a container to package up an
application with all the elements and dependencies before sending the entire container as an
individual package. In addition to this, Docker promotes an automated, reliable supply chain
for lessening time to value. It helps the existing as well as new applications and runs well
with AWS and Google Cloud. Distributed development is made simple with Docker.
The most significant advantage of Docker is that it efficiently separates apps into containers
to make them more secure and transferable. Docker helps in stimulating massive changes in
delivery workflows. If you require a tool to simplify the complicated process of cloud
migration, Docker is for you.

5. Kubernetes
Kubernetes is the most popular open source container orchestration platform. It automates the
deployment, management, scaling, networking, and availability of container-based
applications. Think of Kubernetes to Docker as what vCenter is to ESXi hosts. Using
Kubernetes, Docker containers can be easily created automatically and assigned to business
service on demand and also be scaled down after use.
Deployment automation is the biggest benefit of Kubernetes in the DevOps world. By
automating container creation on nodes across on-premises, cloud and hybrid IT
environments, Kubernetes can be used to spin up development environment on demand based
on business need. This is especially helpful in auto-scaling, rolling updates, canary
deployments.
By orchestrating container creation and deployment, Kubernetes becomes a useful tool for
continuous integration, continuous delivery and continuous deployment.

6. Ansible
Ansible is an open-source software provisioning, configuration management, and application-
deployment tool. Ansible works agentlessly, connecting via SSH or remote PowerShell to
execute its tasks. It requires playbooks (YAML files) to be created which incorporate
configurations, deployment, and orchestration rules and then executed on Ansible-managed
nodes. Repetitive administrations tasks can be automated using Ansible towards improving
the scalability, consistency, and reliability of the application deployment environment.
Ansible Tower is a web service and a hub for automation tasks which makes Ansible more
easily operable for IT teams. Semaphore, written in Go, is an open source alternative to
Ansible Tower.
CONCLUSION:-

ASSESSMENT SCHEME:-

Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)

PRPCEM-AI&DS Page 49
C-Skill IV-DevOps

PRPCEM-AI&DS Page 50

You might also like