EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

SonarQube

Course outline

1 day

Duration

SonarQube

1 day

Objectives

By the end of this course, participants will:

  • Understand the fundamental concepts and benefits of using SonarQube.
  • Gain practical experience in installing, configuring, and using SonarQube.
  • Learn to analyze code quality and integrate SonarQube with CI/CD pipelines.
  • Explore advanced SonarQube features for managing and improving code quality.

Target Audience

This course is designed for:

  • Software Developers
  • DevOps Engineers
  • Quality Assurance Engineers
  • Project Managers
  • IT Operations Staff
  • Anyone interested in improving code quality and maintaining software health

Prerequisites

Participants should have:

  • Basic understanding of software development and version control systems.
  • Familiarity with CI/CD concepts.
  • Basic knowledge of command-line interfaces.
  • Experience with build tools (e.g., Maven, Gradle) is beneficial but not mandatory.

Course Modules

Lesson 1: Introduction to SonarQube

  • What is SonarQube?
  • Benefits of using SonarQube for code quality analysis
  • Key features and components of SonarQube

Lesson 2: Installing and Setting Up SonarQube

  • System requirements and prerequisites
  • Installing SonarQube on various platforms (Windows, macOS, Linux)
  • Initial configuration and setup

Lesson 3: SonarQube Dashboard and Interface

  • Navigating the SonarQube dashboard
  • Understanding the interface and key sections

Lesson 4: Project Setup and Configuration

  • Creating and configuring a new project in SonarQube
  • Configuring source code paths and exclusions
  • Using the SonarQube scanner for analysis

Lesson 5: Understanding Metrics and Issues

  • Code quality metrics and what they mean
  • Types of issues detected by SonarQube (bugs, vulnerabilities, code smells)
  • Navigating and understanding issue reports

Lesson 6: Customizing Quality Profiles

  • Introduction to quality profiles
  • Creating and customizing quality profiles
  • Applying quality profiles to projects

Lesson 7: Managing Quality Gates

  • What are quality gates?
  • Configuring and managing quality gates
  • Using quality gates to enforce code quality standards

Lesson 8: Integrating SonarQube with Build Tools

  • Configuring SonarQube with Maven, Gradle, and other build tools
  • Running SonarQube analysis as part of the build process

Lesson 9: Continuous Integration with Jenkins

  • Integrating SonarQube with Jenkins
  • Automating code analysis in a CI pipeline
  • Generating and viewing reports within Jenkins

Lesson 10: Integrating SonarQube with Other CI Tools

  • Integration with other CI tools (GitLab CI, CircleCI, etc.)
  • Best practices for CI/CD integration

Lesson 11: Automating Code Reviews

  • Using SonarQube for automated code reviews
  • Integrating with code review tools (e.g., GitHub, Bitbucket)
  • Configuring pull request analysis and feedback

Programme scope, delivery arrangements and suitability are confirmed during enquiry.