Skip to content

Harness

Role in the Platform

Harness provides the CI path used to validate service repositories and publish container images. In the WxCDI exporter lifecycle, a source change triggers a pipeline that builds, tests, scans, tags, and publishes an image for later selection by Helm configuration.

Pipeline Responsibilities

sequenceDiagram
    participant Dev as Engineer
    participant Git as Source Repository
    participant CI as Harness
    participant Registry as ECR / Artifactory
    participant Config as Deployment Configuration

    Dev->>Git: Open pull request
    Git->>CI: Run validation
    CI-->>Git: Test and policy result
    Dev->>Git: Merge approved change
    Git->>CI: Build release image
    CI->>Registry: Publish tag and digest
    Dev->>Config: Select published version

Pipeline configuration should make the source revision, build number, image tag, registry destination, test results, and scan result visible without exposing secrets.

Before Changing a Pipeline

  • Confirm the project, organization, service, registry, and environment in scope.
  • Identify Keeper/AppRole dependencies without copying their values.
  • Preserve the existing source-to-image tag traceability.
  • Check whether the image is expected in ECR, Artifactory, or both.
  • Define a test build that does not deploy to production.
  • Obtain review from the service and delivery-platform owners.

Troubleshooting

Stage Evidence to collect Common causes
Trigger Repository event and branch filters Incorrect connector, event, or path filter
Build Source SHA, Docker build output Dockerfile, dependency, or build-context failure
Test/scan Report and policy decision Test regression, vulnerable base image, policy threshold
Registry push Repository, tag, and digest Expired credential, missing repository, authorization
Handoff Published tag versus Helm values Build succeeded but deployment config still points to old image

Harness success proves that an artifact was built; it does not prove the new image was deployed or is producing current telemetry. Complete the checks in Deployment.

References