Files
backstage/plugins/jenkins
blam e44cb85b22 Merge branch 'master' of github.com:spotify/backstage into migrate-to-msw
* 'master' of github.com:spotify/backstage: (66 commits)
  chore: fix lerna linting
  v0.1.1-alpha.25
  Add Code Insights plugin to sample app and marketplace (#2833)
  Improve main CI build status badge in README (#2866)
  Update roadmap: Design System 🚢 (#2858)
  github/codecov: switch to informational mode
  github/workflows: use the tip of master as the base for comparing PR code coverage
  make saml provider path from globalConfig (#2855)
  fix(catalog-backend): limit search value lengths
  Update project Copyright (#2852)
  fix(catalog-backend): actually use modified entity output (default namespace was broken)
  remove unnecessary center keyword
  Move card header bg to up contrast, fix #2558
  Update name of env authentication env vars
  Fix feedback from dtuite
  Remove chart testing workflow for now
  Only lint charts on Pull Requests
  Move the k8s deployment docs to its own helm deployment page
  Remove line in initdb script that creates backend db
  Use app-config.development.yaml to provide configuration instead of local
  ...
2020-10-13 03:56:13 +02:00
..
2020-08-12 12:54:06 +02:00
2020-08-12 12:54:06 +02:00

Jenkins Plugin (Alpha)

Website: https://jenkins.io/

Last master build Folder results Build details

Setup

  1. If you have a standalone app (you didn't clone this repo), then do
yarn add @backstage/plugin-jenkins
  1. Add plugin:
// packages/app/src/plugins.ts
export { plugin as Jenkins } from '@backstage/plugin-jenkins';
  1. Add proxy configuration to app-config.yaml
proxy:
  '/jenkins/api':
    target: 'http://localhost:8080' # your Jenkins URL
    changeOrigin: true
    headers:
      Authorization:
        $env: JENKINS_BASIC_AUTH_HEADER
  1. Add an environment variable which contains the Jenkins credentials, (note: use an API token not your password)
HEADER=$(echo -n user:api-token | base64)
export JENKINS_BASIC_AUTH_HEADER="Basic $HEADER"
  1. Run app with yarn start
  2. Add the Jenkins folder annotation to your component-info.yaml, (note: currently this plugin only supports folders and Git SCM)
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: 'your-component'
  description: 'a description'
  annotations:
    jenkins.io/github-folder: 'folder-name/job-name'
spec:
  type: service
  lifecycle: experimental
  owner: your-name
  1. Register your component

  2. Click the component in the catalog you should now see Jenkins builds, and a last build result for your master build.

Features

  • View all runs inside a folder
  • Last build status for specified branch
  • View summary of a build

Limitations

  • Only works with projects that use the Git SCM
  • It requires jobs to be organised into folders
  • No pagination support currently - don't run this on a Jenkins with lots of builds