Files
backstage/plugins/gocd
renovate[bot] abfbcfca9c chore(deps): update dependency @testing-library/react to v15
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 21:06:44 +00:00
..
2024-03-21 18:40:35 +05:30
2024-04-09 15:55:28 +00:00
2024-02-12 11:06:30 +01:00
2024-03-04 16:22:24 +05:30

GoCD

This plugin is an open-source tool which is used in software development to help teams and organizations automate the continuous delivery of software.

  • View recent GoCD Builds

gocd-builds-card

Installation

GoCD Plugin exposes an entity tab component named EntityGoCdContent. You can include it in the EntityPage.tsx`:

// At the top imports
import { EntityGoCdContent } from '@backstage/plugin-gocd';

// Farther down at the component declaration
const componentEntityPage = (
  <EntityLayout>
    {/* Place the following section where you want the tab to appear */}
    <EntityLayout.Route path="/go-cd" title="GoCD">
      <EntityGoCdContent />
    </EntityLayout.Route>

Now your plugin should be visible as a tab at the top of the entity pages, specifically for components that are of the type component. However, it warns of a missing gocd.org/pipelines annotation.

Add the annotation to your component catalog-info.yaml. You can refer to multiple GoCD pipelines by defining their names separated by commas, as shown in the highlighted example below:

metadata:
  annotations:
    gocd.org/pipelines: '<NAME OF THE PIPELINE 1>[,<NAME OF PIPELINE 2>]'

The plugin requires to configure a GoCD API proxy with a GOCD_AUTH_CREDENTIALS for authentication in the app-config.yaml. Its value is an opaque token you can obtain directly from your GoCD instance, in the shape base64(user + ':' + pass). For example, a user "root" and password "root" would become base64('root:root') = cm9vdDpyb290:

proxy:
  '/gocd':
    target: '<go cd server host>/go/api'
    allowedMethods: ['GET']
    allowedHeaders: ['Authorization']
    headers:
      Authorization: Basic ${GOCD_AUTH_CREDENTIALS}

You should also include the gocd section to allow for the plugin to redirect back to GoCD pipelines in your deployed instance:

gocd:
  baseUrl: <go cd server host>