QualityGate’s components

Agent

QualityGate agent is the code analyzer component of QualityGate that runs locally. On Linux machines, the agent runs as a docker image (Setup for Linux), while on Windows the agent is executed as a Windows service (Setup for Windows). The agent regularly checks for new versions of code to analyze, runs the analyzer tools, and uploads the results to QualityGate server. No source code is ever uploaded.
The agent runs the following code analyzers:
  • SourceMeter is an innovative tool built for precise static source code analysis. It is fit for projects of different languages, including Java, C#, C/C++, JavaScript, Python, and RPG. At this point of development, QualityGate analyzes software developed in:
    • Java (JDK 10 or 11)
    • C# (conforming to C# 7.3)

    Important

    The prerequisites for running C# analysis are:

    • Microsoft .NET Framework 4.6 Developer Pack
    • Build Tools for Visual Studio 2017 or Visual Studio 2017 with the workloads needed by the project being analyzed
    • Microsoft Visual C++ 2017 Redistributable Pack
    • The build process shall be compatible with MSBuild
    • A single executable file (e.g. build.bat) that builds the project when executed
    In order to run SourceMeter for C#, it is necessary to meet all the requirements of your project’s build process (a build environment is required for the projects to be analyzed).
    Due to incremental builds can cause problems, users might want to start the build process with clean.
    In the case of long-term projects and changing versions, it is the user’s responsibility to keep the infrastructure able to build and analyze the project.

    SourceMeter can analyze solution (.sln), project (.csproj) or a single source files (.cs), but QualityGate only uploads the analysis results of .cs files to the database. Besides its own analyzers, SourceMeter integrates other tools, like PMD and FxCop as well.

  • SonarQube® is an automatic code review tool to detect bugs, vulnerabilities and code smells in your code (EULA).

Admin UI

Users of QualityGate can perform user and project management functionalities through the QualityGate Admin UI. These functionalities are:

Dashboard

QualityGate Dashboard serves for browsing the results of code analysis and quality assessment. Powerful visuals help users understand code quality-related issues and actions to be taken for their improvement.

REST API

QualityGate’s functionalities are fully accessible through QualityGate REST API, which is a well-defined set of REST endpoints. This makes QualityGate easy to integrate into any development or quality assurance process.

Back: Basic concepts Next: How it works