Share
Explore

CSD 4503 Assignment 2 - Running the Pipeline

Some reference LINKS:

Our 2 new learning outcomes compared to what we have done up to now:
Creating and working with Git Issues and Git Actions
Creating TESTS and using the JEST TypeScript Testing Framework.
Note that will require creating a Traceability Matrix so you know what tests to create and where to put them.

This assignment builds on the design of Assignment 1:

Builds directly on Assignment 1's foundation
Assignment 2 is a simulation of the practices performe DevOps Engineers at work running the Product Build. Here we emphasize hands-on DevOps engineering practices
Incorporates both technical skills and process management
Provides clear grading criteria
Aligns with course learning outcomes
Part of doing this assignment will be teams’ running Agile practices in class to resolve issues on the product openned by the Instructor who will play the roles of Business Analyst, Product manager and IT architect. This encourages continuous engagement through daily/weekly tasks

info

# CSD-4503 DevOps: Tools and Practices

Assignment 2: DevOps Pipeline Implementation and Operation

Value: 20% of final grade**

Due Date: November 11

### Overview
In this assignment, you will expand upon your Assignment 1 TypeScript application by implementing and operating a complete CI/CD pipeline process using GitHub.
You will role-play as DevOps engineers responsible for maintaining code quality, processing daily Git Issues, and ensuring smooth pipeline operation.
### Prerequisites - Completed Assignment 1 TypeScript application - GitHub repository with initial codebase - Basic understanding of Git Issues and Actions

### Learning Objectives
1. Implement and maintain a CI/CD pipeline using GitHub Actions
2. Process and resolve Git Issues effectively
3. Use traceability matrix as a product roadmap to asses how to best implement code changes and testing in response to Defects and New Product Feature Requests.
4. Implement automated testing with Jest.
5. Deploy applications using Docker containers. We will see how to set up GIT ACTIONS to containerize into a Kubernetics Container your updated code base and ftp that Container to where ever it needs to go.

Part 1: Pipeline Setup (30%)

1.1 Pipeline Configuration

- Create `.github/workflows/ci.yml` file implementing:
yml : yet another markup language: yml is the scripting language to configure GIT Actions.


- Automated builds on push/pull requests - Jest test execution - Code linting - TypeScript compilation - Docker image creation *** New learning topic

1.2 Testing Framework

- Implement Jest testing framework
- Create test cases based on your Traceability matrix
- Ensure tests cover major functionality
- Configure test automation in pipeline

1.3 Docker Integration
- Create Dockerfile for application
- Implement Docker image building in pipeline
- Configure container deployment process

Part 2: Daily DevOps Operations (40%)


2.1 Git Issues Management
- Process some Git Issues each week
- Document issue resolution process
- Link commits to issues
- Maintain clean issue tracking

2.2 Code Reviews (our in class simulations will mirror the ways of Agile as closely as practical)

- Participate in daily code reviews
- Document review findings
- Implement feedback from reviews
- Use traceability matrix to what changes in the code base are appropriate

2.3 Pipeline Monitoring: Play the role of Dev Ops Engineers

- Monitor pipeline execution and operation
- Document and resolve failures
- Maintain pipeline health metrics
- Implement pipeline improvements

Part 3: Documentation and Reporting (30%)

#### 3.1 Technical Documentation - Maintain up-to-date README.md - Document pipeline configuration - Create troubleshooting guide - Document testing strategy

3.2 Process Documentation

- Document daily DevOps procedures - Create issue resolution workflows - Document code review process - Maintain traceability matrix

3.3 Final Report - Submit comprehensive report including: - Pipeline implementation details - Issue management statistics
Deliver POWERBI dashboard-based Analytics Reports
- Lessons learned - Recommendations for improvement

Deliverables

1. GitHub repository containing:
- Complete CI/CD pipeline configuration
- Jest test suite
- Docker configuration
- Technical documentation: Latex with Overleaf.com

2. Documentation package including: - Process documentation: Instruction manual for a new Devops Engineer - Updated traceability matrix and all other UP Artifacts - Issue management logs - Code review records

3. Final report (2000 words maximum)
### Grading Rubric
Your Documentation report will be presented in Latex.
image.png

Detailed Scoring Breakdown

**Pipeline Implementation (30 points)**
- Pipeline Configuration (10 points) - Complete workflow file (3) - Correct trigger configuration (2) - Error handling (2) - Environment configuration (3)
- Testing Framework (10 points) - Jest configuration (3) - Test coverage (4) - Test quality (3)
- Docker Integration (10 points) - Dockerfile configuration (4) - Build process (3) - Deployment configuration (3)
**DevOps Operations (40 points)** - Issue Management (15 points) - Regular processing (5) - Resolution quality (5) - Documentation (5)
- Code Reviews (15 points) - Participation (5) - Feedback quality (5) - Implementation of changes (5)
- Pipeline Maintenance (10 points) - Monitoring (4) - Problem resolution (3) - Improvements (3)
**Documentation (30 points)** - Technical Documentation (10 points) - Completeness (4) - Clarity (3) - Organization (3)
- Process Documentation (10 points) - Workflows (4) - Procedures (3) - Traceability (3)
- Final Report (10 points) - Analysis (4) - Insights (3) - Recommendations (3)
Submission Guidelines 1. Ensure your GitHub repository is up-to-date 2. Submit documentation package via Moodle 3. Submit final report as PDF via Moodle 4. Include repository URL in submission
### Academic Integrity - All work must be original - Cite any external resources used - Collaboration is encouraged for learning but submit individual work - Follow Lambton College academic integrity policies
### Support Resources - Course lecture materials - DevOps documentation - GitHub Actions documentation - Jest documentation - Docker documentation
### Tips for Success 1. Start early - pipeline setup takes time 2. Test thoroughly before submission 3. Document continuously 4. Participate actively in code reviews 5. Maintain regular issue processing schedule

ok

To Do Work:


Start experimenting with GIT ISSUES and GIT Actions
Assignment 4: Workbook on pointing PowerBI at the GIT ISSUES Journal

Workbook on using Jest Testing Framework with TypeScript

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.