M6 - Security Weakness Identification with Continuous Integration

Description

Continuous Integration (CI) is a software development practice that regularly and automatically integrates code changes from multiple contributors into a shared repository. The primary goal of CI is to ensure that new code additions or modifications do not introduce new issues or break existing functionality. This is achieved by frequently building, testing, and validating the codebase, allowing development teams to detect and address issues early in the development cycle. Continuous Integration (CI) promotes collaboration, rapid feedback, and high-quality, stable software delivery.

Use an existing tool and Git Hooks to activate a static analysis tool for a popular repository.

Courses Where This Module Is Integrated

Activities 

Pre-lab Content Dissemination 

Pioneered by Martin Fowler (https://martinfowler.com/), continuous integration (CI) is the practice of automatically integrating code changes. A few key principles of CI are: 

As part of this workshop, we will see how we can use an existing CI tool called GitHub Actions(https://docs.github.com/en/actions) and Codacy (https://github.com/marketplace/actions/codacy-analysis-cli) to not only integrate code changes with CI but also check for quality concerns with static analysis. 


In-class Hands-on Experience 

The video recording needed for this hands-on experience is available here.

Post Lab Experience