Skip to content

abeyum/backstage-plugin-buildkite

 
 

Buildkite CI/CD Plugin for Backstage

a list of builds in the Buildkite plugin for Backstage

Features

  • List Buildkite CI/CD Builds
  • Retrigger builds
  • Inspect each builds step in real time

How to add Buildkite project dependency to Backstage app

  1. If you have standalone app (you didn't clone this repo), then do
yarn add @roadiehq/backstage-plugin-buildkite
  1. Add proxy config:
// app-config.yaml
proxy:
  '/buildkite/api':
    target: https://api.buildkite.com/v2/
    headers:
      Authorization: 
        $env: BUILDKITE_TOKEN
  1. Import it into your Backstage application:
// packages/app/src/components/catalog/EntityPage.tsx
import {
  EntityBuildkiteContent,
  isPluginApplicableToEntity as isBuildkiteAvailable,
} from '@roadiehq/backstage-plugin-buildkite';
  1. Add plugin API to your Backstage instance:
// packages/app/src/components/catalog/EntityPage.tsx

export const cicdContent = (
  <EntitySwitch>
    <EntitySwitch.Case if={isBuildkiteAvailable}>
      <EntityBuildkiteContent />
    </EntitySwitch.Case>
    ...
  </EntitySwitch>
);

How to use Buildkite plugin in Backstage

  1. Add annotation to the yaml config file of a component:
metadata:
  annotations:
    buildkite.com/project-slug: [exampleorganization/exampleproject]
  1. Get and provide BUILDKITE_TOKEN as env variable. Note that the token needs to be in format Bearer TOKEN

Links

Packages

No packages published

Languages

  • TypeScript 98.7%
  • JavaScript 1.3%