The GitHub Deployments Plugin displays recent deployments from GitHub.
- Install the GitHub Deployments Plugin.
# From your Backstage root directory
yarn --cwd packages/app add @backstage-community/plugin-github-deployments
- Add the
EntityGithubDeploymentsCard
to the EntityPage:
// packages/app/src/components/catalog/EntityPage.tsx
import { EntityGithubDeploymentsCard } from '@backstage-community/plugin-github-deployments';
const OverviewContent = () => (
<Grid container spacing={3} alignItems="stretch">
// ...
<Grid item xs={12} sm={6} md={4}>
<EntityGithubDeploymentsCard />
</Grid>
// ...
</Grid>
);
You can filter for environment names via an environment parameter.
// packages/app/src/components/catalog/EntityPage.tsx
// ...
<Grid item xs={12} sm={6} md={4}>
<EntityGithubDeploymentsCard environments={['env-a', 'env-b']} />
</Grid>
// ...
- Add the
github.com/project-slug
annotation to yourcatalog-info.yaml
file:
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: backstage
description: |
Backstage is an open-source developer portal that puts the developer experience first.
annotations:
github.com/project-slug: YOUR_PROJECT_SLUG
spec:
type: library
owner: CNCF
lifecycle: experimental
The plugin will try to use backstage.io/source-location
or backstage.io/managed-by-location
annotations to figure out the location of the source code.
- Add the
host
andapiBaseUrl
to yourapp-config.yaml
# app-config.yaml
integrations:
github:
- host: 'your-github-host.com'
apiBaseUrl: 'https://api.your-github-host.com'
Follow this section if you are using Backstage's new frontend system.
- Import
githubDeploymentsPlugin
in yourApp.tsx
and add it to your app'sfeatures
array:
import githubDeploymentsPlugin from '@backstage-community/plugin-github-deployments/alpha';
// ...
export const app = createApp({
features: [
// ...
githubDeploymentsPlugin,
// ...
],
});
- Next, enable your desired extensions in
app-config.yaml
app:
extensions:
- entity-card:github-deployments/overview
- Whichever extensions you've enabled should now appear in your entity page.