DEVOPS BCSL657D
DEVOPS Semester 6
Course Code BCSL657D CIE Marks 50
Teaching Hours/Week(L:T:P:S) 0:0:2:0 SEE Marks 50
Credits 01 Exam Hours 100
Examination type(SEE) Practical
Course objectives:
To introduce DevOps terminology, definition & concepts
To understand the different Version control tools like Git, Mercurial
To understand the concepts of Continuous Integration/ Continuous Testing/Continuous Deployment)
To understand Configuration management using Ansible
Illustratethebenefitsanddrivetheadoptionofcloud-basedDevopstoolstosolvereal world problems
Sl.NO Experiments
1 IntroductiontoMavenandGradle:Overview of Build Automation
Tools, Key Differences Between Maven and Gradle, Installation and Setup
2 Working with Maven: Creating a Maven Project, Understanding the POM File,
Dependency Management and Plugins
3 Working with Gradle: Setting Up a Gradle Project, Understanding Build
Scripts (Groovy and Kotlin DSL), Dependency Management and Task Automation
4 Practical Exercise: Build and Run a Java Application with Maven,
Migrate the Same Application to Gradle
5 Introduction to Jenkins: What is Jenkins?,Installing Jenkins on Local or
Cloud Environment, Configuring Jenkins for First Use
6 Continuous Integration with Jenkins: Setting Up a CI Pipeline,
Integrating Jenkins with Maven/ Gradle, Running Automated Builds and Tests
7 Configuration Management with Ansible: Basics of Ansible: Inventory,
Playbooks, and Modules, Automating Server Configurations with Playbooks, Hands-On:
Writing
andRunningaBasicPlaybook
8 PracticalExercise:SetUpaJenkinsCIPipelineforaMaven
Project, UseAnsibletoDeployArtifactsGeneratedbyJenkins
9 IntroductiontoAzureDevOps:OverviewofAzureDevOpsServices,SettingUpan
AzureDevOpsAccountandProject
10 CreatingBuildPipelines:BuildingaMaven/GradleProjectwithAzurePipelines,
IntegratingCodeRepositories(e.g.,GitHub,AzureRepos),RunningUnitTestsand Generating
Reports
PulukuriAparna,Asst.Professor,DeptofCSE Page1
,DEVOPS BCSL657D
11 CreatingReleasePipelines:DeployingApplicationstoAzureAppServices,Managing
SecretsandConfigurationwithAzureKeyVault,Hands-On: Continuous Deployment with Azure
Pipelines
PulukuriAparna,Asst.Professor,DeptofCSE Page2
,DEVOPS BCSL657D
12 PracticalExerciseandWrap-Up:BuildandDeployaCompleteDevOps Pipeline, Discussion on
Best Practices and Q&A
Courseoutcomes(CourseSkillSet):
Attheendofthecoursethestudentwillbeableto:
DemonstratedifferentactionsperformedthroughVersioncontroltoolslikeGit.
PerformContinuousIntegrationandContinuousTestingandContinuousDeployment using Jenkins by
building and automating test cases using Maven & Gradle.
Experimentwithconfiguration managementusingAnsible.
DemonstrateCloud-basedDevOpstoolsusingAzureDevOps.
Page3
, DEVOPS BCSL657D
IntroductiontoDevOps:
DevOps isa software development methodologythat combines software development (Dev) and IT operations (Ops) to
streamline the software delivery process. It focuses on automation, collaboration, continuous integration (CI), continuous
delivery (CD), and monitoring to ensure faster, more efficient, and reliable software deployment.
InDevOps,teamsusebuildautomationtoolslikeMavenandGradletoautomatethecompilation, testing, andpackaging
ofapplications. Thesetools helpdevelopers managedependencies, ensure consistent builds, and integrate code changes
seamlessly, which are essential for continuous integration and continuous delivery (CI/CD) pipelines.
KeyAspects ofDevOps:
Collaborationand Communication– DevOpsbridgesthegapbetween development and operations teams, fostering a
culture of shared responsibility.
Automation–Automatingsoftwarebuilds,testing,deployment,andmonitoringreduces manual errors and improves efficiency.
ContinuousIntegration&ContinuousDelivery(CI/CD)–Codechangesare integrated frequently, tested automatically, and
deployed seamlessly.
InfrastructureasCode(IaC)–Infrastructuresetupandmanagementareautomated using tools like Terraform and Ansible.
MonitoringandFeedback–Continuousmonitoringhelpsinidentifyingissuesearly and improving system performance.
DevOpsLifecycle:
TheDevOpslifecycleconsistsofthefollowingstages:
Plan–Defineprojectscope,requirements,andworkflowsusingtoolslikeJira, Confluence.
Develop–Codedevelopment usingGit,GitHub,GitLab.
Build–CompileandpackagecodeusingMaven,Gradle.
Test–Automatedtestingwithtools likeJUnit,Selenium.
Release–PreparefordeploymentusingJenkins, GitHubActions.
Deploy–DeployapplicationsusingAnsible,Docker,Kubernetes.
Operate–Manage infrastructureand monitorapplicationsusingTerraform, Prometheus.
Monitor–TracksystemperformanceandlogsusingGrafana,ELKStack.
Page4
DEVOPS Semester 6
Course Code BCSL657D CIE Marks 50
Teaching Hours/Week(L:T:P:S) 0:0:2:0 SEE Marks 50
Credits 01 Exam Hours 100
Examination type(SEE) Practical
Course objectives:
To introduce DevOps terminology, definition & concepts
To understand the different Version control tools like Git, Mercurial
To understand the concepts of Continuous Integration/ Continuous Testing/Continuous Deployment)
To understand Configuration management using Ansible
Illustratethebenefitsanddrivetheadoptionofcloud-basedDevopstoolstosolvereal world problems
Sl.NO Experiments
1 IntroductiontoMavenandGradle:Overview of Build Automation
Tools, Key Differences Between Maven and Gradle, Installation and Setup
2 Working with Maven: Creating a Maven Project, Understanding the POM File,
Dependency Management and Plugins
3 Working with Gradle: Setting Up a Gradle Project, Understanding Build
Scripts (Groovy and Kotlin DSL), Dependency Management and Task Automation
4 Practical Exercise: Build and Run a Java Application with Maven,
Migrate the Same Application to Gradle
5 Introduction to Jenkins: What is Jenkins?,Installing Jenkins on Local or
Cloud Environment, Configuring Jenkins for First Use
6 Continuous Integration with Jenkins: Setting Up a CI Pipeline,
Integrating Jenkins with Maven/ Gradle, Running Automated Builds and Tests
7 Configuration Management with Ansible: Basics of Ansible: Inventory,
Playbooks, and Modules, Automating Server Configurations with Playbooks, Hands-On:
Writing
andRunningaBasicPlaybook
8 PracticalExercise:SetUpaJenkinsCIPipelineforaMaven
Project, UseAnsibletoDeployArtifactsGeneratedbyJenkins
9 IntroductiontoAzureDevOps:OverviewofAzureDevOpsServices,SettingUpan
AzureDevOpsAccountandProject
10 CreatingBuildPipelines:BuildingaMaven/GradleProjectwithAzurePipelines,
IntegratingCodeRepositories(e.g.,GitHub,AzureRepos),RunningUnitTestsand Generating
Reports
PulukuriAparna,Asst.Professor,DeptofCSE Page1
,DEVOPS BCSL657D
11 CreatingReleasePipelines:DeployingApplicationstoAzureAppServices,Managing
SecretsandConfigurationwithAzureKeyVault,Hands-On: Continuous Deployment with Azure
Pipelines
PulukuriAparna,Asst.Professor,DeptofCSE Page2
,DEVOPS BCSL657D
12 PracticalExerciseandWrap-Up:BuildandDeployaCompleteDevOps Pipeline, Discussion on
Best Practices and Q&A
Courseoutcomes(CourseSkillSet):
Attheendofthecoursethestudentwillbeableto:
DemonstratedifferentactionsperformedthroughVersioncontroltoolslikeGit.
PerformContinuousIntegrationandContinuousTestingandContinuousDeployment using Jenkins by
building and automating test cases using Maven & Gradle.
Experimentwithconfiguration managementusingAnsible.
DemonstrateCloud-basedDevOpstoolsusingAzureDevOps.
Page3
, DEVOPS BCSL657D
IntroductiontoDevOps:
DevOps isa software development methodologythat combines software development (Dev) and IT operations (Ops) to
streamline the software delivery process. It focuses on automation, collaboration, continuous integration (CI), continuous
delivery (CD), and monitoring to ensure faster, more efficient, and reliable software deployment.
InDevOps,teamsusebuildautomationtoolslikeMavenandGradletoautomatethecompilation, testing, andpackaging
ofapplications. Thesetools helpdevelopers managedependencies, ensure consistent builds, and integrate code changes
seamlessly, which are essential for continuous integration and continuous delivery (CI/CD) pipelines.
KeyAspects ofDevOps:
Collaborationand Communication– DevOpsbridgesthegapbetween development and operations teams, fostering a
culture of shared responsibility.
Automation–Automatingsoftwarebuilds,testing,deployment,andmonitoringreduces manual errors and improves efficiency.
ContinuousIntegration&ContinuousDelivery(CI/CD)–Codechangesare integrated frequently, tested automatically, and
deployed seamlessly.
InfrastructureasCode(IaC)–Infrastructuresetupandmanagementareautomated using tools like Terraform and Ansible.
MonitoringandFeedback–Continuousmonitoringhelpsinidentifyingissuesearly and improving system performance.
DevOpsLifecycle:
TheDevOpslifecycleconsistsofthefollowingstages:
Plan–Defineprojectscope,requirements,andworkflowsusingtoolslikeJira, Confluence.
Develop–Codedevelopment usingGit,GitHub,GitLab.
Build–CompileandpackagecodeusingMaven,Gradle.
Test–Automatedtestingwithtools likeJUnit,Selenium.
Release–PreparefordeploymentusingJenkins, GitHubActions.
Deploy–DeployapplicationsusingAnsible,Docker,Kubernetes.
Operate–Manage infrastructureand monitorapplicationsusingTerraform, Prometheus.
Monitor–TracksystemperformanceandlogsusingGrafana,ELKStack.
Page4