5ec70a9678
Signed-off-by: Adam Harvey <adaharve@cisco.com>
SonarQube Plugin
The SonarQube Plugin displays code statistics from SonarCloud or SonarQube.
Getting Started
- Install the SonarQube Plugin:
# packages/app
yarn add @backstage/plugin-sonarqube
- Add plugin to the app:
// packages/app/src/plugins.ts
export { plugin as SonarQube } from '@backstage/plugin-sonarqube';
- Add the
EntitySonarQubeCardto 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>
);
-
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.yamlfile depending on the product you use.
SonarCloud
proxy:
'/sonarqube':
target: https://sonarcloud.io/api
allowedMethods: ['GET']
headers:
Authorization:
# Content: 'Basic base64("<api-key>:")' <-- note the trailing ':'
# Example: Basic bXktYXBpLWtleTo=
$env: SONARQUBE_AUTH_HEADER
SonarQube
proxy:
'/sonarqube':
target: https://your.sonarqube.instance.com/api
allowedMethods: ['GET']
headers:
Authorization:
# Content: 'Basic base64("<api-key>:")' <-- note the trailing ':'
# Example: Basic bXktYXBpLWtleTo=
$env: SONARQUBE_AUTH_HEADER
sonarQube:
baseUrl: https://your.sonarqube.instance.com
-
Get and provide
SONARQUBE_AUTH_HEADERas env variable (https://sonarcloud.io/account/security or https://docs.sonarqube.org/latest/user-guide/user-token/) -
Add the
sonarqube.org/project-keyannotation to your entity'scatalog-info.yamlfile:
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
