Pipelines and Quality Gates (Non-functionals)
Quality is often just focused on whether tests pass or not. However there's also the concept of code quality. The code may perform as expected but the manner in which it's been written could be so poor that it could be a future source of problems when changes are added. So now it's time to check the quality of our code.
SonarQube
As part of the Ubiquitous Journey, we have automated the Helm chart deployment of SonarQube, which we are using to test and measure code quality. In values-tooling.yaml
, the SonarQube stanza references the Helm chart and any extra plugins that are required. Many of the common language profile plugins are already deployed with the base version of SonarQube, for example, Java, JavaScript, and Typescript. We add in extra plugin entries for Checkstyle, our Java formatting check tool, and a dependency checker for detecting publicly disclosed vulnerabilities contained within project dependencies...