Skip to content
This repository has been archived by the owner on Aug 23, 2021. It is now read-only.

RoadieHQ/backstage-plugin-buildkite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 

Repository files navigation

Repository migration notice (August 2021)

In order to make testing and deployment of our plugins easier we are migrating all Roadie plugins to a monorepo at https://github.com/RoadieHQ/roadie-backstage-plugins. The plugins will still be published to the same place on NPM and will have the same package names so nothing should change for consumers of these plugins.

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