Get in Touch
 Duration 21 hours

Course Outline

1. Principles and Scope of Static Code Analysis

  • Key definitions: static analysis, SAST, rule categories, and severity levels.
  • The role of static analysis in a secure SDLC and risk mitigation.
  • Positioning SonarQube within security controls and developer workflows.

2. SonarQube Overview: Capabilities and Architecture

  • Essential services, database structure, and scanner components.
  • Quality Gates, Quality Profiles, and best practices for their application.
  • Security-centric features: vulnerability detection, SAST rules, and CWE mapping.

3. Navigating the SonarQube Server Interface

  • Server UI walkthrough: projects, issues, rules, metrics, and governance views.
  • Analyzing issue pages, traceability, and remediation guidance.
  • Generating and exporting reports.

4. SonarScanner Setup with Build Tools

  • Installing SonarScanner for Maven, Gradle, Ant, and MSBuild.
  • Best practices for scanner properties, exclusions, and multi-module projects.
  • Creating essential test data and coverage reports for precise analysis.

5. Integration with Azure DevOps

  • Setting up SonarQube service connections within Azure DevOps.
  • Incorporating SonarQube tasks into Azure Pipelines and pull request decoration.
  • Importing Azure Repos into SonarQube and automating analysis workflows.

6. Project Configuration and Third-Party Analyzers

  • Setting project-level Quality Profiles and selecting rules for Java and Angular.
  • Utilizing third-party analyzers and managing the plugin lifecycle.
  • Defining analysis parameters and parameter inheritance.

7. Roles, Responsibilities, and Secure Development Methodology Review

  • Segregation of duties: developers, reviewers, DevOps, and security owners.
  • Developing a roles and responsibilities matrix for CI/CD processes.
  • Evaluating and proposing improvements to existing secure development methodologies.

8. Advanced: Rule Management, Tuning, and Global Security Enhancement

  • Utilizing the SonarQube Web API to create and manage custom rules.
  • Adjusting Quality Gates and enforcing automated policies.
  • Strengthening SonarQube server security and access control best practices.

9. Practical Lab Sessions (Applied Skills)

  • Lab A: Configure SonarScanner for five Java repositories (using Quarkus where applicable) and review the results.
  • Lab B: Set up Sonar analysis for one Angular front-end project and interpret the findings.
  • Lab C: Comprehensive pipeline lab—integrate SonarQube with an Azure DevOps pipeline and activate PR decoration.

10. Testing, Troubleshooting, and Report Analysis

  • Strategies for generating test data and measuring coverage.
  • Resolving common issues related to scanners, pipelines, and permissions.
  • Methods for interpreting and presenting SonarQube reports to both technical and non-technical stakeholders.

11. Best Practices and Recommendations

  • Selecting rule sets and implementing incremental enforcement strategies.
  • Workflow recommendations for developers, reviewers, and build pipelines.
  • Strategies for scaling SonarQube in enterprise settings.

Conclusion and Future Steps

Requirements

  • A solid grasp of the software development lifecycle.
  • Practical experience with source control systems and foundational CI/CD principles.
  • Proficiency in Java or Angular development environments.

Target Audience

  • Developers working with Java, Quarkus, or Angular.
  • DevOps and CI/CD engineers.
  • Security engineers and application security specialists.

Testimonials (1)

Related Categories