Get in Touch
 Duration 21 hours

Course Outline

1. Principles and Scope of Static Code Analysis

  • Key definitions: static analysis, SAST, rule classifications, and severity levels
  • The role of static analysis in securing the SDLC and covering risk areas
  • Positioning SonarQube within security controls and developer workflows

2. SonarQube Overview: Capabilities and Architecture

  • Core components: services, database, and scanners
  • Best practices for Quality Gates, Quality Profiles, and governance
  • Security-focused features: vulnerability detection, SAST rules, and CWE mapping

3. Navigating the SonarQube Server Interface

  • A comprehensive tour of the Server UI: projects, issues, rules, metrics, and governance views
  • Analyzing issue pages, tracking traceability, and following remediation guidance
  • Generating and exporting reports

4. Configuring SonarScanner with Build Tools

  • Installation and setup of SonarScanner for Maven, Gradle, Ant, and MSBuild
  • Best practices for managing scanner properties, exclusions, and multi-module projects
  • Generating required test data and coverage reports to ensure analysis accuracy

5. Integration with Azure DevOps

  • Establishing SonarQube service connections within Azure DevOps
  • Embedding SonarQube tasks into Azure Pipelines and enabling pull request decoration
  • Importing Azure Repos into SonarQube and automating the analysis process

6. Project Configuration and Third-Party Analyzers

  • Tailoring project-level Quality Profiles and selecting rules for Java and Angular
  • Managing third-party analyzers and understanding the plugin lifecycle
  • Setting analysis parameters and understanding parameter inheritance

7. Roles, Responsibilities, and Secure Development Methodology Assessment

  • Defining role segregation: developers, reviewers, DevOps, and security owners
  • Developing a roles and responsibilities matrix for CI/CD processes
  • Evaluating and recommending improvements to existing secure development methodologies

8. Advanced Topics: Custom Rules, Tuning, and Global Security Enhancements

  • Leveraging the SonarQube Web API to create and manage custom rules
  • Refining Quality Gates and implementing automated policy enforcement
  • Hardening SonarQube server security and implementing access control best practices

9. Applied Hands-on Lab Sessions

  • Lab A: Setting up SonarScanner for five Java repositories (incorporating Quarkus where relevant) and analyzing outcomes
  • Lab B: Configuring Sonar analysis for an Angular front-end application and interpreting results
  • Lab C: Comprehensive pipeline lab—integrating SonarQube with an Azure DevOps pipeline and activating PR decoration

10. Testing, Troubleshooting, and Interpreting Reports

  • Strategies for generating test data and measuring coverage
  • Diagnosing and resolving common scanner, pipeline, and permission errors
  • Presentation techniques for SonarQube reports tailored to both technical and non-technical stakeholders

11. Best Practices and Strategic Recommendations

  • Selecting rule sets and strategies for incremental enforcement
  • Workflow recommendations for developers, code reviewers, and build pipelines
  • A roadmap for scaling SonarQube across enterprise environments

Summary and Future Steps

Requirements

  • A solid grasp of the software development lifecycle (SDLC)
  • Proficiency with source control systems and fundamental CI/CD concepts
  • Working knowledge of Java or Angular development environments

Target Audience

  • Developers specializing in Java, Quarkus, or Angular
  • DevOps and CI/CD engineers
  • Security engineers and application security reviewers

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories