@roadiehq/backstage-plugin-travis-ci
TypeScript icon, indicating that this package has built-in type declarations

2.1.22 • Public • Published

Travis CI Plugin for Backstage

a list of builds in the Travis CI plugin for Backstage

Features

  • List Travis CI Builds
  • Retrigger builds

How to add Travis-ci project dependency to Backstage app

If you have your own backstage application without this plugin, here are instructions how to add it:

  1. In the backstage/packages/app project add the plugin as a package.json dependency:
yarn add @roadiehq/backstage-plugin-travis-ci
  1. add configuration in app-config.yaml file in the root directory:

In the proxy object:

proxy:

  ...

  '/travisci/api':
    target: https://api.travis-ci.com
    changeOrigin: true
    headers:
      Authorization: ${TRAVISCI_AUTH_TOKEN}
      travis-api-version: 3

and as a separate configuration object:

travisci:
  baseUrl: 'https://travis-ci.com/'
  1. Import it into your Backstage application:
// packages/app/src/components/catalog/EntityPage.tsx
import {
  EntityTravisCIContent,
  EntityTravisCIOverviewCard,
  isTravisciAvailable,
} from '@roadiehq/backstage-plugin-travis-ci';
  1. Add plugin to the EntityPage.tsx source file:
// packages/app/src/components/catalog/EntityPage.tsx
export const cicdContent = (
  <EntitySwitch>
    <EntitySwitch.Case if={isTravisciAvailable}>
      <EntityTravisCIContent />
    </EntitySwitch.Case>
    ...
  </EntitySwitch>
);
  1. Add a recent Travis-CI builds widget/card to the overview tab to the entityPage.tsx source file:
export const cicdCard = (
  <EntitySwitch>
    <EntitySwitch.Case if={isTravisciAvailable}>
      <Grid item sm={6}>
        <EntityTravisCIOverviewCard />
      </Grid>
    </EntitySwitch.Case>
  </EntitySwitch>
);

How to use Travis-ci plugin in Backstage

Travis-ci plugin is a part of the Backstage sample app. To start using it for your component, you have to:

  1. Add an annotation to the yaml config file of a component:
travis-ci.com/repo-slug: <owner-name>/<project-name>
  1. Add your developer api key to the environment variables of your backstage backend server (you can find it in https://travis-ci.com/account/preferences), in the form of the word 'token' followed by your api key. So it should look like this:

    TRAVISCI_AUTH_TOKEN="token <your-api-key>"

Developing the plugin locally

The easiest way is to clone the plugin repo into the plugins/ directory of your backstage code base:

git clone https://github.com/RoadieHQ/backstage-plugin-travis-ci.git travis-ci

and run yarn install in the root backstage directory - it will create a symbolic link, so the dependency will be provided from the source code instead of node_modules package.

Links

Readme

Keywords

none

Package Sidebar

Install

npm i @roadiehq/backstage-plugin-travis-ci

Weekly Downloads

1,303

Version

2.1.22

License

Apache-2.0

Unpacked Size

90.4 kB

Total Files

7

Last publish

Collaborators

  • gorkaroadie
  • joao.roadie
  • kissmikijr
  • sblausten
  • roadiehq-david
  • iainbillett
  • brianfletcher
  • xantier
  • irma1203
  • roadie-bot