Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

DevOps Lab Record: Implementing SCRUM, Kanban, RACI Matrix, Git, Jenkins, and Ansible, Schemes and Mind Maps of Engineering

This lab record provides a comprehensive guide to implementing devops principles and tools. It covers various aspects of devops, including scrum process using jira, kanban process in jira, raci matrix development, git version control, jenkins pipeline setup, and ansible playbook creation. Detailed explanations, code examples, and practical exercises to enhance understanding and application of these concepts.

Typology: Schemes and Mind Maps

2024/2025

Uploaded on 03/02/2025

vivek-kumar-99
vivek-kumar-99 🇮🇳

1 document

1 / 27

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Lab Record
of
DevOps (CSF374)
BACHELOR OF TECHNOLOGY
In
Computer Science and Engineering
Session 2024-25
Submitted to: - Submitted by: -
Dr. Suchi Johri Name: Vivek Kumar
Assistant Professor, Roll No.: 210102206
School of Computing Sap: 1000016222
Group: A(P1)
SCHOOL OF COMPUTING
DIT UNIVERSITY, DEHRADUN
(State Private University through State Legislature Act No. 10 of 2013 of Uttarakhand and approved by UGC)
Mussoorie Diversion Road, Dehradun, Uttarakhand - 248009, India.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b

Partial preview of the text

Download DevOps Lab Record: Implementing SCRUM, Kanban, RACI Matrix, Git, Jenkins, and Ansible and more Schemes and Mind Maps Engineering in PDF only on Docsity!

Lab Record

of

DevOps (CSF374)

BACHELOR OF TECHNOLOGY

In

Computer Science and Engineering

Session 2024- 25

Submitted to: - Submitted by: -

Dr. Suchi Johri Name: Vivek Kumar

Assistant Professor, Roll No.: 210102206

School of Computing Sap: 1000016222

Group: A(P1)

SCHOOL OF COMPUTING

DIT UNIVERSITY, DEHRADUN

(State Private University through State Legislature Act No. 10 of 2013 of Uttarakhand and approved by UGC) Mussoorie Diversion Road, Dehradun, Uttarakhand - 248009, India.

PROBLEM 1: How can you implement the SCRUM process using JIRA? Provide a detailed explanation and include screenshots for the following tasks: a. Creating a story b. Adding collaborators to a story c. Creating a dependent bug d. Assigning a dependent bug to a different collaborator e. Creating a 2-week sprint f. Starting the sprint Implementing the SCRUM process using JIRA is an effective way to manage agile projects, where you can create stories, track progress, manage sprints, and assign tasks to team members. Here's a detailed explanation of how to use JIRA to implement SCRUM, including how to create stories, bugs, manage sprints, and collaborate. SOLUTION: a. Creating a Story in JIRA:

d. Assigning a Dependent Bug to a Different Collaborator: e. Creating a 2-Week Sprint f. Starting the Sprint:

PROBLEM 2: Q2. How can you implement the KANBAN process using JIRA? Provide a detailed explanation and include screenshots for the following tasks: a. Creating an Epic b. Creating a Task c. Assigning a Task to Yourself d. Assigning a Task to a Team Member The Kanban process in JIRA helps you visualize tasks on a board, ensuring smooth workflow by limiting work in progress (WIP) and focusing on continuous delivery. Here is a detailed explanation of how to implement the Kanban process in JIRA and perform the required tasks. SOLUTION:

  1. Creating an Epic:
  2. Creating a Task:
  1. Assigning a Task to a Team Member:

PROBLEM 3: Your organization is launching a new software development project aimed at creating a customer relationship management (CRM) system. As part of the project management process, you are tasked with developing a RACI matrix to clarify the roles and responsibilities of the team members involved in key tasks. Please outline the RACI matrix for the following: Project tasks :

  1. Requirements Gathering
  2. Design Phase
  3. Development Phase
  4. Testing Phase
  5. User Acceptance Testing (UAT)
  6. Deployment Phase
  7. User Training
  8. Post-Deployment Support
  9. Documentation Preparation
  10. Feedback Collection and Iteration Planning Roles and Responsibilities:
  11. Project Manager
  12. Business Analyst
  13. Development Team Lead
  14. QA Lead
  15. UX Designer
  16. System Administrator
  17. Technical Writer
  18. Product Owner SOLUTION:

PROBLEM 4: Fork the repository “john-smilga/ javascript -basic- projects ” on GIT Hub. Take the pull from this repository on your local/remote master branch. (Note: Do not clone). Open certain random files of this project on your local master branch and make certain changes and add a comment with your name. Now provide the commands used by you for the following: ● Add modified files ● Commit^ modified files

● Push^ the files to your GIT Hub branch ● Take^ pull on GIT Hub and compare the changes you have done. ● Also^ show how you have concluded that your changes have no conflict and they are ready to be merged in the main live branch john-smilga/ javascript -basic- projects

PROBLEM 5: Set up a Jenkins pipeline that:  Checks out the code from a Git repository.  Builds the code using a Maven command. (You can use dummy code if you do not have hands-off on Maven).  Runs unit tests after the build.  Deploys the application to a test environment (e.g., Docker container, Kubernetes, or a staging server). (You can use dummy code if you do not have hands-off on Containers).  Notifies the team of the success or failure via email or Slack. Jenkins Pipeline Configuration pipeline { agent any environment { GIT_REPO = 'https://github.com/your-repo/your-project.git' EMAIL_RECIPIENTS = 'team@example.com' SLACK_CHANNEL = '#deployments' } stages { stage('Checkout') { steps { git branch: 'main', url: env.GIT_REPO } } stage('Build') { steps { sh 'mvn clean package' } } stage('Test') { steps { sh 'mvn test' } post {

always { junit '*/target/surefire-reports/.xml'

Jenkins Pipeline:  Uses declarative pipeline syntax  Includes all required stages: checkout, build, test, and deploy  Implements notification via both email and Slack  Includes error handling and post-build actions  Uses Docker for deployment to test environment  Publishes test results using JUnit

PROBLEM 6: Create an Ansible playbook for creation of the directory and file in the temporary folder. Consider the control and the managed nodes on the localhost.


  • name: Create temporary directory and file hosts: localhost become: yes # Run with elevated privileges vars: temp_dir: /tmp/workspace file_name: example.txt file_content: "This is a test file" tasks: - name: Ensure temporary directory exists file: path: "{{ temp_dir }}" state: directory mode: '0755' - name: Create file in temporary directory copy: content: "{{ file_content }}" dest: "{{ temp_dir }}/{{ file_name }}" mode: '0644' - name: Verify file creation stat: path: "{{ temp_dir }}/{{ file_name }}" register: file_status - name: Display file status debug: msg: "File created successfully at {{ temp_dir }}/{{ file_name }}" when: file_status.stat.exists Ansible Playbook:Creates a temporary directory with proper permissionsCreates a file within that directoryIncludes verification stepsUses variables for easy customizationRuns on localhost as specifiedIncludes proper privilege escalation Ansible Playbook for Directory Creation

junit '*/target/surefire-reports/.xml' }

stage('Deploy') { steps { script { sh ''' docker build -t myapp:${BUILD_NUMBER}. docker stop myapp || true docker rm myapp || true docker run -d --name myapp -p 8080:8080 myapp:${BUILD_NUMBER} ''' } } } } post { success { emailext body: 'Pipeline completed successfully', subject: "SUCCESS: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'", to: env.EMAIL_RECIPIENTS slackSend channel: env.SLACK_CHANNEL, color: 'good', message: "Pipeline completed successfully: Job '${env.JOB_NAME} [$ {env.BUILD_NUMBER}]'" } failure { emailext body: 'Pipeline failed', subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'", to: env.EMAIL_RECIPIENTS slackSend channel: env.SLACK_CHANNEL, color: 'danger', message: "Pipeline failed: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'" } } }