Get in Touch
 Duration 21 hours

Course Outline

1. Foundations of Static Code Analysis and Scope

  • Key definitions: static analysis, SAST, rule classifications, and severity levels.
  • The role of static analysis in a secure SDLC and its coverage of risks.
  • Positioning SonarQube within security controls and developer workflows.

2. SonarQube Overview: Capabilities and Architecture

  • Explanation of core services, database structures, and scanner components.
  • Best practices for Quality Gates, Quality Profiles, and their management.
  • Security features: vulnerability detection, SAST rules, and CWE mapping.

3. Navigating the SonarQube Server Interface

  • A guided tour of the Server UI: projects, issues, rules, metrics, and governance views.
  • Decoding issue pages, ensuring traceability, and following remediation advice.
  • Options for generating and exporting reports.

4. Configuring SonarScanner with Build Tools

  • Setting up SonarScanner for Maven, Gradle, Ant, and MSBuild.
  • Best practices regarding scanner properties, exclusions, and handling multi-module projects.
  • Generating required test data and coverage reports to ensure accurate analysis.

5. Seamless Integration with Azure DevOps

  • Establishing SonarQube service connections within Azure DevOps.
  • Incorporating SonarQube tasks into Azure Pipelines and enabling PR decoration.
  • Importing Azure Repos into SonarQube to automate analysis processes.

6. Project Setup and Third-Party Analyzers

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

7. Roles, Responsibilities, and Secure Methodology Assessment

  • Clarifying role separation: developers, reviewers, DevOps staff, and security owners.
  • Developing a roles & responsibilities matrix for CI/CD processes.
  • Reviewing and optimizing existing secure development methodologies.

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

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

9. Practical Lab Sessions (Application)

  • Lab A: Configure SonarScanner for five Java repositories (using Quarkus where relevant) and analyze the outcomes.
  • Lab B: Set up Sonar analysis for an Angular front-end project and interpret the results.
  • Lab C: End-to-end pipeline exercise—integrate SonarQube with an Azure DevOps pipeline and activate PR decoration.

10. Testing, Troubleshooting, and Report Analysis

  • Techniques for generating test data and measuring coverage.
  • Addressing common issues related to scanners, pipelines, and permissions.
  • Effectively presenting SonarQube reports 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, reviewers, and build pipelines.
  • Planning for scaling SonarQube in enterprise settings.

Conclusion and Path Forward

Requirements

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

Target Audience

  • Software Developers (specifically Java / Quarkus / Angular).
  • DevOps and CI/CD Engineers.
  • Security Engineers and Application Security Reviewers.

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories