449b995261
Signed-off-by: Andrew Shirley <andrew.shirley@sainsburys.co.uk> Signed-off-by: blam <ben@blam.sh>
Jenkins Plugin (Alpha)
Website: https://jenkins.io/
Setup
- If you have a standalone app (you didn't clone this repo), then do
# From your Backstage root directory
cd packages/app
yarn add @backstage/plugin-jenkins
-
Add and configure tha backend plugin according to it's instructions
-
Add the
EntityJenkinsContentextension to the cicd page andEntityLatestJenkinsRunCardto the entity page in the app:
Note that if you configured a custom JenkinsInfoProvider in step 2, you may need a custom isJenkinsAvailable.
// In packages/app/src/components/catalog/EntityPage.tsx
import { EntityJenkinsContent } from '@backstage/plugin-jenkins';
// You can add the tab to any number of pages, the service page is shown as an
// example here
const serviceEntityPage = (
<EntityLayout>
{/* other tabs... */}
<EntityLayout.Route path="/jenkins" title="Jenkins">
<EntityJenkinsContent />
</EntityLayout.Route>
- Run app with
yarn start - Add the Jenkins folder annotation to your
catalog-info.yaml.
Currently, this plugin only supports folders and Git SCM. Note that if you configured a custom JenkinsInfoProvider in step 2, you may need to use a different annotation scheme here
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: 'your-component'
description: 'a description'
annotations:
jenkins.io/github-folder: 'folder-name/project-name'
spec:
type: service
lifecycle: experimental
owner: your-name
-
Register your component
-
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 organization folder projects backed by GitHub
- No pagination support currently, limited to 50 projects - don't run this on a Jenkins instance with lots of builds