Files
backstage/plugins/jenkins
blam f326c2ee1e Merge branch 'master' of github.com:spotify/backstage into feat/backend-plugin
* 'master' of github.com:spotify/backstage: (30 commits)
  fix(techdocs-core): use the content of the readme as long description for the pypi package (#2578)
  chore: add contrib to CONTRIBUTING.md (#2585)
  Fix typo (#2584)
  backend-common: default config env to development
  v0.1.1-alpha.23
  TechDocs: Inject CSS transformer and initial backstage style integration for reader (#2560)
  bug(gql): use import to import the graphql module
  Rename file
  [blog] Announce CNCF Sandbox (#2568)
  document cleaning - tutorial quickstarts (#2520)
  Simplify codecov flag names
  chore(scaffolder-backend): typo in visibility
  Kubernetes plugins boilerplate (#2559)
  CHANGELOG: add entry for SessionApi refactor
  Upload package specific code coverage to codecov
  Add codecov flags for core and core-api packages
  TechDocs: Enable allowVulnerableTags in sanitize-html (#2554)
  chore: trust the Boolean :)
  docs: regenerate api reference docs
  core: refactor SessionStateApi to SessionApi with sign-in/out
  ...
2020-09-24 10:54:04 +02:00
..
2020-08-12 12:54:06 +02:00
2020-09-22 11:49:45 +02:00
2020-08-12 12:54:06 +02:00
2020-09-09 11:49:24 +01: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:
        $secret:
          env: JENKINS_BASIC_AUTH_HEADER
    pathRewrite:
      '^/proxy/jenkins/api/': '/'
  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