Files
backstage/plugins/sonarqube
github-actions[bot] bcc563abe9 Version Packages (next)
2022-05-24 11:05:52 +00:00
..
2022-05-24 11:05:52 +00:00
2022-05-24 11:05:52 +00:00

SonarQube Plugin

The SonarQube Plugin displays code statistics from SonarCloud or SonarQube.

Sonar Card

Getting Started

  1. Install the SonarQube Plugin:
# From your Backstage root directory
yarn add --cwd packages/app @backstage/plugin-sonarqube
  1. Add the EntitySonarQubeCard to the EntityPage:
  // packages/app/src/components/catalog/EntityPage.tsx
+ import { EntitySonarQubeCard } from '@backstage/plugin-sonarqube';

 ...

 const overviewContent = (
   <Grid container spacing={3} alignItems="stretch">
     <Grid item md={6}>
       <EntityAboutCard variant="gridItem" />
     </Grid>
+    <Grid item md={6}>
+      <EntitySonarQubeCard variant="gridItem" />
+    </Grid>
   </Grid>
 );
  1. Add the proxy config:

    Provide a method for your Backstage backend to get to your SonarQube API end point. Add configuration to your app-config.yaml file depending on the product you use. Make sure to keep the trailing colon after the SONARQUBE_TOKEN, it is required to call the Web API (see docs).

SonarCloud

proxy:
  '/sonarqube':
    target: https://sonarcloud.io/api
    allowedMethods: ['GET']
    # note that the colon after the token is required
    auth: '${SONARQUBE_TOKEN}:'
    # Environmental variable: SONARQUBE_TOKEN
    # Fetch the sonar-auth-token from https://sonarcloud.io/account/security/

SonarQube

proxy:
  '/sonarqube':
    target: https://your.sonarqube.instance.com/api
    allowedMethods: ['GET']
    # note that the colon after the token is required
    auth: '${SONARQUBE_TOKEN}:'
    # Environmental variable: SONARQUBE_TOKEN
    # Fetch the sonar-auth-token from https://sonarcloud.io/account/security/

sonarQube:
  baseUrl: https://your.sonarqube.instance.com
  1. Get and provide SONARQUBE_TOKEN as an env variable (https://sonarcloud.io/account/security or https://docs.sonarqube.org/latest/user-guide/user-token/).

  2. Run the following commands in the root folder of the project to install and compile the changes.

yarn install
yarn tsc
  1. Add the sonarqube.org/project-key annotation to the catalog-info.yaml file of the target repo for which code quality analysis is needed.
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: backstage
  description: |
    Backstage is an open-source developer portal that puts the developer experience first.
  annotations:
    sonarqube.org/project-key: YOUR_PROJECT_KEY
spec:
  type: library
  owner: CNCF
  lifecycle: experimental