Harness CI/CD
Plugin details | |
---|---|
Created by | Harness |
Category | CI/CD |
Source | GitHub |
Type | Open-source plugin |
Configuration
Application configuration YAML
No action required
This plugin requires a backend proxy configuration to make calls to Harness APIs with authentication. The following configuration is set by default and you do not need to change anything:
proxy:
"/harness/prod":
target: "https://app.harness.io/"
pathRewrite:
"/api/proxy/harness/prod/?": "/"
allowedHeaders:
- authorization
Secrets
No secrets are required for this plugin because both IDP and CI/CD are part of the Harness software delivery platform.
Delegate proxy
No action required
This plugin does not require a delegate proxy to be set up.
Layout
This plugin exports a UI tab that you can use as a new CI/CD tab for a service or for any other layout page. Go to Admin > Layout, select Service in the dropdown menu, and then add the following YAML code in the CI/CD section:
- name: ci-cd
path: /ci-cd
title: CI/CD
contents:
- component: EntitySwitch
specs:
cases:
- if: isHarnessCiCdAvailable
content:
component: EntityHarnessCiCdContent
- content:
component: EmptyState
specs:
props:
title: No CI/CD available for this entity
missing: info
description: You need to add an annotation to your component if you want to enable CI/CD for it. You can read more about annotations in Backstage by clicking the button below.
The isHarnessCiCdAvailable
condition is met when one of the following annotations is present in the software components's catalog-info.yaml
definition file.
harness.io/pipelines
harness.io/services
harness.io/project-url
(deprecated)
Annotations
To configure the plugin for a service in the software catalog, set one or both of the following annotations in its catalog-info.yaml
definition file, follow the information on how to fetch the URLs for annotation:
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
# ...
annotations:
# optional annotation
harness.io/pipelines: |
labelA: <harness_pipeline_url>
labelB: <harness_pipeline_url>
# here labelA / labelB denotes the value you will see in dropdown in execution list.
# optional annotation
harness.io/services: |
labelA: <harness_service_url>
labelB: <harness_service_url>
spec:
type: service
# ...
Support
The plugin is owned by Harness and managed in the Harness plugins repository as an open-source project. Create a GitHub issue to report bugs or suggest new features for the plugin.