@backstage-community/plugin-github-deployments
TypeScript icon, indicating that this package has built-in type declarations

0.7.0 • Public • Published

GitHub Deployments Plugin

The GitHub Deployments Plugin displays recent deployments from GitHub.

github-deployments-card

Prerequisites

Getting Started

  1. Install the GitHub Deployments Plugin.
# From your Backstage root directory
yarn --cwd packages/app add @backstage-community/plugin-github-deployments
  1. 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>
// ...
  1. Add the github.com/project-slug annotation to your catalog-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

Self-hosted / Enterprise GitHub

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.

  1. Add the host and apiBaseUrl to your app-config.yaml
# app-config.yaml

integrations:
  github:
    - host: 'your-github-host.com'
      apiBaseUrl: 'https://api.your-github-host.com'

Integrating with the new Frontend System

Follow this section if you are using Backstage's new frontend system.

  1. Import githubDeploymentsPlugin in your App.tsx and add it to your app's features array:
import githubDeploymentsPlugin from '@backstage-community/plugin-github-deployments/alpha';
// ...
export const app = createApp({
  features: [
    // ...
    githubDeploymentsPlugin,
    // ...
  ],
});
  1. Next, enable your desired extensions in app-config.yaml
app:
  extensions:
    - entity-card:github-deployments/overview
  1. Whichever extensions you've enabled should now appear in your entity page.

/@backstage-community/plugin-github-deployments/

    Package Sidebar

    Install

    npm i @backstage-community/plugin-github-deployments

    Homepage

    backstage.io

    Weekly Downloads

    1,220

    Version

    0.7.0

    License

    Apache-2.0

    Unpacked Size

    104 kB

    Total Files

    29

    Last publish

    Collaborators

    • patriko